在 wicked-pdf 中使用自定义 (urdu) 字体
using custom (urdu) font in wicked-pdf
我正在使用 Wicked pdf to generate pdf in rails 4 application. I need to render urdu fonts in pdf. Following these two answers by Nikhil and Ashitaka, I downloaded Jameel Noori Nastaleeq font from here,将它们安装在我的本地并添加到 assets/fonts
文件夹中。预编译资源后,在我的 pdf.scss
中定义了 font-family
@font-face {
font-family:"Jameel Noori Nastaleeq";
src:url("Jameel Noori Nastaleeq/Jameel Noori Nastaleeq.ttf");
font-weight: bold;
}
.urdu-font {
font-family: 'Jameel Noori Nastaleeq';
}
我的 pdf 视图文件如下所示
%head
%meta{:charset => "utf-8"}
= wicked_pdf_stylesheet_link_tag 'pdf'
%body.urdu-font
= render "custom_form"
其中 _custom_form.pdf.haml 部分包含包含乌尔都语文本的输入字段。
乌尔都语字体在 pdf 和调试模式下在本地都能正常工作,但在部署时,它无法在 pdf 文件中正确呈现,而在调试模式下呈现良好。
在调试模式下,我检查了字体资源的路径,即 src:url(file:////home/deploy/<remote-location>/releases/20180622133137/public/assets/Jameel Noori Nastaleeq/Jameel Noori Nastaleeq-39c54f1646a6a4f68408f3a26400e457cb1e52226c284d8c4ab36a3363520e0f.ttf)
这看起来很好,字体实际上在这种 html 调试模式下呈现良好。
P.S。我还看到这个 post 使用 googleapi
提供的远程字体。我试过这个并且它有效但我想使用本地字体资源。
WickedPDF 使大部分资源可用作 file://
参考,因为您的内容在使用 wkhtmltopdf
呈现之前会呈现到临时文件,但这确实会给 ajax 调用和字体带来一些问题.
您可以绕过从 file
加载的问题,方法是对字体资源进行 base64 编码并将其内联:
url('<%= wicked_pdf_asset_base64('yourfile.ttf') %>')
我正在使用 Wicked pdf to generate pdf in rails 4 application. I need to render urdu fonts in pdf. Following these two answers by Nikhil and Ashitaka, I downloaded Jameel Noori Nastaleeq font from here,将它们安装在我的本地并添加到 assets/fonts
文件夹中。预编译资源后,在我的 pdf.scss
@font-face {
font-family:"Jameel Noori Nastaleeq";
src:url("Jameel Noori Nastaleeq/Jameel Noori Nastaleeq.ttf");
font-weight: bold;
}
.urdu-font {
font-family: 'Jameel Noori Nastaleeq';
}
我的 pdf 视图文件如下所示
%head
%meta{:charset => "utf-8"}
= wicked_pdf_stylesheet_link_tag 'pdf'
%body.urdu-font
= render "custom_form"
其中 _custom_form.pdf.haml 部分包含包含乌尔都语文本的输入字段。
乌尔都语字体在 pdf 和调试模式下在本地都能正常工作,但在部署时,它无法在 pdf 文件中正确呈现,而在调试模式下呈现良好。
在调试模式下,我检查了字体资源的路径,即 src:url(file:////home/deploy/<remote-location>/releases/20180622133137/public/assets/Jameel Noori Nastaleeq/Jameel Noori Nastaleeq-39c54f1646a6a4f68408f3a26400e457cb1e52226c284d8c4ab36a3363520e0f.ttf)
这看起来很好,字体实际上在这种 html 调试模式下呈现良好。
P.S。我还看到这个 post 使用 googleapi
提供的远程字体。我试过这个并且它有效但我想使用本地字体资源。
WickedPDF 使大部分资源可用作 file://
参考,因为您的内容在使用 wkhtmltopdf
呈现之前会呈现到临时文件,但这确实会给 ajax 调用和字体带来一些问题.
您可以绕过从 file
加载的问题,方法是对字体资源进行 base64 编码并将其内联:
url('<%= wicked_pdf_asset_base64('yourfile.ttf') %>')