我正在使用wicked-pdf
gem (v1.2.2) 生成一个 PDF 报告,其中包含一个很棒的字体图标。
我将 fontawesome 文件保存在此路径中:
vendor/assets/fonts/fontawesome.css.erb
以及此路径中的相应字体:
vendor/assets/fonts/fontawesome/fa-brands-400.eot
来自fontawesome.css.erb的示例片段:(这是字体的引用方式)
/*!
* Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Brands';
font-style: normal;
font-weight: normal;
src: url('<%= asset_path 'fontawesome/fa-brands-400.eot' %>');
src: url('<%= asset_path 'fontawesome/fa-brands-400.eot' %>?#iefix') format("embedded-opentype"), url('<%= asset_path 'fontawesome/fa-brands-400.woff2' %>') format("woff2"), url('<%= asset_path 'fontawesome/fa-brands-400.woff' %>') format("woff"), url('<%= asset_path 'fontawesome/fa-brands-400.ttf' %>') format("truetype"), url('<%= asset_path 'fontawesome/fa-brands-400.svg#fontawesome' %>') format("svg"); }
我正在使用资产管道。
我已将 fontawesome 包含在报告布局 ( report.html.erb
) 中,如下所示:
<%= stylesheet_link_tag wicked_pdf_asset_base64('fontawesome.css') %>
当我在调试模式下加载 PDF 时,我只看到方形框,在 PDF 中看不到任何内容。
我提到了这个问题:Font Awesome not working,icons shown as squares
并将 CDN 链接添加到 fontawesome 代替本地文件。它只在调试模式下工作。
当我在PDF模式下尝试时,加载时间很长,最后没有显示字体。因此,这对我来说不是解决方案。
期待您的投入。谢谢
更改: 我更新了
fontawesome.css.erb
对字体文件的绝对引用:
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 400;
src: url('<%= ActionController::Base.helpers.wicked_pdf_asset_path('fontawesome/fa-brands-400.woff') %>');
}
在调试模式下,我在 Chrome 浏览器中收到以下错误。
Not allowed to load local resource: file:///home/Projects/my_app/vendor/assets/fonts/fontawesome/fa-brands-400.woff