Pdf 为什么几乎相同文档的大小差异如此之大
有两个PDF,第一个是用libharu创建的,第二个是用PDF::API2创建的。如果不提及坐标,则内容相同。但第一个pdf文件的大小是第二个文件的四倍。我发现的唯一区别是文档属性字体选项卡中显示的字体类型 首先Pdf 为什么几乎相同文档的大小差异如此之大,pdf,fonts,pdf-generation,embedded-fonts,libharu,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
Verdana (Embedded Subset)
Type: TrueType
Encoding: Custom
秒
Verdana
Type: TrueType
Encoding: Custom
Actual Font: Verdana
Actual font Type: TrueType
如何处理嵌入的子集?影响PDF大小的因素很多。您的问题可能在于PDF创建库处理字体嵌入的方式,特别是:
- “嵌入子集”表示字体的部分度量,如字形宽度,包含在文件中
- 如果字体未嵌入,则可能是读卡器从系统中加载字体,从而减小文件大小
最后,您可以检查PDF文件由许多PDF检查器组成的对象,例如(我只是用谷歌搜索了它,不保证它会按预期工作)。这是一个老问题,但我有一个类似的问题 你把libharu设置成压缩你的pdf了吗 在C++中,从
你不知道linux的pdf检查器吗?我在谷歌上搜索了很多,但它看起来只存在于Mac和Windows上。嵌入的子集指的是只包含文档中使用的字形的字体。字体度量应该始终在文件中。@Jimmy,在重新阅读参考之后,您是对的。(有14种标准字体不需要嵌入,但Verdana不是其中之一。)太长了,我不记得了,但是+1)
HPDF_SetCompressionMode (pdf, HPDF_COMP_ALL);