Hel*_*hon 2 php compression pdf size-reduction
我们有一个应用程序可以生成带有嵌入 NMSYS 字体的动态 PDF 文件。
但与具有较大数据然后动态生成的具有相同字体的原始文件相比,它的大小非常大。
是否可以使用 php 任何脚本、API 或扩展来减小此类 PDF 的大小?为什么内容较大且字体相同的源 PDF(不是由脚本生成)的尺寸较小?
编辑
例子 -
文件-1是由我们的脚本生成的,它实际上显示了文件2中的一条信息。文件-1中只有5页,大小为1.2 MB,文件2有158页类似信息,但大小约为4MB。
为什么会有这种大小差异?
我查看了这两个文件,差异确实主要与字体有关。我保存了使用 Adobe Acrobat XI 优化的两个文件 - 这(可以)进行了大量优化,但最重要的区别(对于文件 1)来自字体子集设置:
文件 1:之前 1.2 MB/之后 253 KB 文件 2:之前 4.7 MB/之后 3.7 MB
您的文件 2 是使用 FrameMaker 创建的,它通常会生成非常干净的 PDF(即使在这种情况下使用了非常旧版本的 Adobe Acrobat Distiller),您的文件 1 是由 DomPDF 生成的,显然没有对嵌入字体进行子集化。
如果您查看 Acrobat 中第一个文件的空间审核报告:

您可以看到字体占据了文件中接近 96% 的空间。因此,对该文件中使用的字体进行子集化基本上是使其变小的唯一选择。
不同的库或应用程序有不同的选项来启用子集化。特别是对于 DOMPDF,使用选项 DOMPDF_ENABLE_FONTSUBSETTING 在它创建的 PDF 文件中启用字体子集化:
def("DOMPDF_ENABLE_FONTSUBSETTING", true);
Run Code Online (Sandbox Code Playgroud)
然后,仅嵌入 PDF 文件中实际使用的那些字符,通常(取决于文本量和实际字体)创建更小的文件。
(从评论中添加 DOMPDF 解决方案以使答案更完整)
| 归档时间: |
|
| 查看次数: |
5215 次 |
| 最近记录: |