为什么几乎相同的文件大小会有如此大的差异



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

In first

Verdana (Embedded Subset) 
  Type: TrueType 
  Encoding: Custom

第二

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

如何处理嵌入的子集?

影响PDF大小的因素有很多。您的问题可能是在PDF创建库处理字体嵌入的方式,特别是:

  • "嵌入式子集"是指字体的一部分指标,如字形宽度,被包含在文件中。
  • 如果字体没有嵌入,可能是由阅读器从系统加载的,从而减小了文件的大小。

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

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

最后,您可以使用许多PDF检查器来检查组成PDF文件的对象,例如这个(我只是在谷歌上搜索了一下,不能保证它会像预期的那样工作)

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

你设置libharu压缩你的pdf文件了吗?

c++中的

,来自文档

HPDF_SetCompressionMode (pdf, HPDF_COMP_ALL);

相关内容

  • 没有找到相关文章

最新更新