减少打印到 PDF 文件的大小

减少打印到 PDF 文件的大小

我有一个广泛使用的 Java 应用程序(因为它是 Java,因此基本上是跨平台的,并且可以满足我的需求),它的工作是生成带有文本的打印页面。

但是,我需要以电子方式分发这些打印的页面,因此我安装了该printer-driver-cups-pdf软件包,它给我提供了一个 PDF 打印机,这样我就可以将 PDF 分发给我的团队成员。

但是,这些“打印”的 PDF 非常庞大。2 页的 PDF 很容易就达到 800kb,3 页的 PDF 则超过 1MB。这是一个问题,因为我无法轻松地将 10 份这样的文档快速通过电子邮件发送给某人。

在 LibreOffice 中导出包含大约相同数量文本的页面会导致 PDF 文件大小至少减小 10 倍。

有没有人有什么建议?

我无法使用图像压缩,因为这些页面只包含矢量。

顺便说一下,我正在使用 Ubuntu 15.10。

提前致谢!

编辑:我已经尝试过 Ghostscript 的各种-dPDFSETTINGS=/设置。但是,它不起作用,因为它只适用于光栅图像。我也尝试过 SVG、PS 和 EPS 之间的相互转换。我仍然被巨大的矢量 PDF 文件所困扰。

答案1

cups-pdf 已经坏了很久了。它会生成非常大的 PDF 文件,其中包含图像并且不支持文本选择(用于复制粘贴)。

一个不错的选择是Tea4CUPS虚拟打印机。

对我来说它大多数时候都运行良好,但有时使用 Tea4CUPS 打印会中止 —— 在这些情况下,我会求助于 Ubuntu 内置的打印到文件选项。

答案2

也许 ghostscript 可以帮助您压缩 PDF,因为它可以减小其大小并优化其以便在屏幕上而不是在纸上查看:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf in.pdf

或者也许答案是这个问题可能会有帮助。

相关内容