使用命令行技巧缩小 PDF 文件大小

使用 Ghostscript 在 Linux 上压缩 PDF 文件。
108 位读者喜欢这篇文章。
Files in a folder

我的妻子全年都在辅导学生,最近她想通过扫描一些练习册页面到文件中,然后通过电子邮件发送给她的学生来布置作业。她向我寻求帮助,所以我使用了 Simple Scan,这是一款适用于 GNOME 的文档扫描应用程序。

Simple Scan 有两个分辨率设置:图像和文本,并将文件保存为 PDF 格式。不幸的是,使用文本设置时,扫描质量——文字、数字和图形——不合适,但使用图像设置时,文件却非常大——几页就高达 5MB。我使用 pdf2psps2pdf 命令找到了后一个问题的答案,这些命令是 Ghostscript 软件包的一部分。这个解决方案缩小了 PDF 文件的大小,使它们更容易通过电子邮件共享。

这些命令的帮助手册非常简洁,而且很难找到关于它们及其设置的良好文档。因此,我将帮助手册中的信息与我在互联网上找到的各种其他建议结合起来,拼凑出了以下内容。

如何缩小 PDF 文件

首先,备份原始 PDF 文件,使用不同的名称(以防您在某处出错)。

在这个例子中,我将向您展示如何缩小名为 Lesson5.pdf 的文件。第一步是通过输入以下命令将其转换为 PostScript 文件

pdf2ps -dLanguageLevel=3 Lesson5.pdf

这将创建一个名为 Lesson5.ps 的文件,如果您查看其大小,您可能会感到震惊。例如,这个示例文件作为 PDF 文件时为 3.1MB,但作为 PS 文件时却膨胀到 29MB!请保持信心。

接下来,输入

ps2pdf -dPDFSETTINGS=/ebook Lesson5.ps

这将用一个较小的文件覆盖您之前的 Lesson5.pdf(这是备份的一个很好的理由)。如果您愿意,您可以使用以下命令为新的 PDF 指定另一个名称

ps2pdf -dPDFSETTINGS=/ebook -sOutputFile=Lesson5b.pdf Lesson5.ps

我发现使用 /ebook 设置进行压缩是在文件大小和质量之间取得良好折衷方案的方法。在这个例子中,压缩后的 PDF 文件为 715KB,大约是原始大小的四分之一。

使用 Ghostscript 压缩 PDF

我还了解到,我可以使用 gs 命令一次性完成所有操作

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dBATCH -dColorImageResolution=150 \
-sOutputFile=output.pdf someBigFile.pdf

但是,查看 gs man 页面,我不认为我自己能想出这个命令。要了解帮助手册中未包含的参数,请参阅 Ghostscript 在线文档

我想我还是坚持使用这两个更短的命令,它们更容易记住。

接下来阅读什么
Greg Pittman
Greg 是肯塔基州路易斯维尔的一位退休神经科医生,他对计算机和编程有着长期的兴趣,从 1960 年代的 Fortran IV 开始。当 Linux 和开源软件出现时,它激发了他学习更多知识的热情,并最终做出贡献。他是 Scribus 团队的成员。

3 条评论

感谢您的提示 Greg,但请记住,PDF 图像文件应该是最后的手段。让 PDF 文件与屏幕阅读器和类似的辅助技术软件良好兼容可能很麻烦,如果 PDF 不是文本,它将永远无法访问。

谢谢,Peter。有时我们别无选择,只能使用 PDF 格式。

谢谢,但是这会影响 PDF 的质量吗?

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.