为什么几乎相同文件的大小差别如此之大

时间:2011-12-15 08:50:54

标签: pdf fonts pdf-generation embedded-fonts libharu

有两个pdf,首先用libharu创建,第二个用PDF :: API2创建。如果没有提到坐标,那么内容是相同的。但首先是pdf超过四倍。我发现的只有一个区别是文档属性字体选项卡中显示的字体嵌入类型。

首先

Verdana (Embedded Subset) 
  Type: TrueType 
  Encoding: Custom

第二次

Verdana 
  Type: TrueType
  Encoding: Custom
  Actual Font: Verdana
  Actual font Type: TrueType

如何处理嵌入式子集?

2 个答案:

答案 0 :(得分:1)

有许多因素会影响PDF的大小。您的问题可能与PDF创建库处理字体嵌入的方式相同,具体而言:

  • “嵌入式子集”表示文本中包含部分字体的度量标准,如字形宽度。
  • 如果未嵌入字体,可能是读者从系统中加载了字体,从而减小了文件的大小。

如果 PDF已经很小(只有一页,很少的文字和没有图像),嵌入字体可能会对文档的大小产生较大的影响。不过,从绝对意义上讲,嵌入式字体不应占用太多空间。

您应该检查的另一个因素是压缩。 PDF主要是纯文本流,但通常以压缩形式出现。尝试在纯文本编辑器中打开两个PDF,看看它是否可读或乱码。乱码(压缩)形式自然会占用更少的空间。

最后,您可以使用许多PDF检查器检查PDF文件所组成的对象,例如this one(我只是用Google搜索,不保证它会按预期工作)。

答案 1 :(得分:1)

这是一个老问题,但我有类似的问题。

您是否设置了libharu以压缩您的pdf?

在C ++中,来自documentation

HPDF_SetCompressionMode (pdf, HPDF_COMP_ALL);