使用Chrome打印到PDF时嵌入@ font-face字体

时间:2012-07-22 23:09:28

标签: google-chrome pdf printing font-face

我有一个页面,我只在Chrome中使用一堆自定义字体进行渲染:

@font-face{ font-family: BodyFont; src: url('fonts/font.ttf'); }

浏览器完美呈现一切。但是,当我尝试将其打印为PDF时,有两个问题:

  1. Chrome的“打印预览”有时不会在某些字体中显示文字,或者会破坏它。此视图将传递给我使用的任何打印设备。关闭/重新打开选项卡不会更改预览。但是,重新启动浏览器会。

  2. 无论我做什么,我都无法生成嵌入了字体的PDF。我尝试过Chrome的“保存到PDF”,它会生成Adobe Acrobat无法打开的PDF。各种PDF打印机(如Adobe)不会生成嵌入了这些字体的PDF,即使用标准网络字体替换@font-face也会产生嵌入字体。

  3. 对这两个问题的任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

在CSS或HTML中注释媒体查询,重新打开浏览器,它会在打印预览中加载网络字体,然后重新添加媒体查询部分,它就可以工作。

我从这里找到了这个解决方法:@font-face embedded fonts do not show up in a print preview

答案 1 :(得分:0)

尝试在打印时加载默认字体。将以下行添加到您的CSS并尝试。

@media print {
 body {
      font-family: Arial, Helvetica, sans-serif;       
  }
}