pdf - 如何使用 ghostscript 删除 PDF 中的重复对象?

标签 pdf command-line ghostscript duplicate-removal

使用命令行 ghostscript,是否可以删除 PDF 中重复的嵌入对象(图像)并用单个实例替换它们?

我有一个 200 多页的 PDF,每页都有背景图片和一些较小的 Logo 。该文件非常大,因为相同的背景图像和 Logo 二进制文件嵌入在每个单独的页面中,而不是嵌入一次然后在每个页面上引用。我不是 PDF 的创建者,所以我无法从源头解决问题。

(我不想缩小或降低图像质量,也不想完全删除它们。)

最佳答案

作为ghostscript的补充,pdfsizeopt在消除 PDF 中重复的嵌入对象(包括背景图像)方面做得非常好,并且可以在 ghostscript 处理文件之前或之后运行。然而,由于它的依赖关系,将其包含在工作流中有点棘手,并且会创建很多临时文件。可以在 https://github.com/pts/pdfsizeopt 找到(原 https://code.google.com/p/pdfsizeopt/ )

仅通过删除重复图像,我的 200 多页文档就从 150MB 增加到 40MB。

关于pdf - 如何使用 ghostscript 删除 PDF 中的重复对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27295777/

相关文章:

php - MathJax html 渲染为 pdf

c# - 在 .net 中以编程方式突出显示 PDF - 是否有任何 API 和库来生成偏移文件或是否有更好的方法?

c# - 将 PDF 转换为图像 - 库或命令行 - 免费

image-manipulation - 如何在将 eps 文件转换为 jpeg 或 png 时更改其背景颜色

c# - Ghostscript.NET 多线程问题

java - 如何处理具有相同名称的表单字段?

php - 使用 php jquery 和 ajax 的 html2fpdf - 使用完整的 CSS 导出

mongodb - 错误 : MongoDB: unknown version: mountain_lion

java - JUnit:如何模拟 System.in 测试?

linux - 使用 awk 和 sed 合并特定行