2013-02-26 28 views
1

我使用Prawn生成PDF。 当我使用自定义字体(带有中欧/东欧字符的Arial CE)时,字体被嵌入到目标PDF中。 不要将自定义字体嵌入到Prawn生成的PDF中

pdf.font_families.update(
     "Arial" => { 
       :bold  => "font/arialbd.ttf", 
       :italic  => "font/ariali.ttf", 
       :bold_italic => "font/arialbi.ttf", 
       :normal  => "font/arial.ttf" 
     } 
) 
pdf.font "Arial" 
pdf.text "Účet", :size => 18 

问题是PDF的大小。嵌入式字体将文档大小从4kB增加到80kB,并且我不需要将字体放入每个PDF中,因为Arial CE在客户端计算机上可用。

任何建议如何使用自定义字体而不嵌入它?

回答

1

不幸的是,对虾无法关闭自定义字体的嵌入。

您可以使用像Arial和Times New Roman这样的字体构建,并且它们不会被嵌入,但是您没有获得您之后的外观。

+0

看来,我需要补丁大虾用外部Arial替换提供的字体。或者我必须以某种方式将非嵌入字体的标志添加到目标PDF中。 – andrej 2013-03-01 13:13:37

+1

如果它支持东欧人物,那么内置的Arial就足够了吗?如果是这样的话,修补虾可能是更容易的选择,并将对许多其他的虾用户有用。我可以提供有关所需更改的指导。 – 2013-03-02 13:39:51

+0

https://github.com/prawnpdf/prawn/tree/master/data/fonts目录中没有Arial。我可以尝试将Arial添加到我的大虾,将其添加到https://github.com/prawnpdf/prawn/blob/master/lib/prawn/font.rb并测试它。 问题是Arial不是免费的字体,所以它不能与虾分布。 更好的解决方案是在字体选择方法和pdf生成方法中加入“no-include”参数。 – andrej 2013-03-04 15:05:11

相关问题