批量调整大小和压缩 PDF 文件

批量调整大小和压缩 PDF 文件

我需要一种方法来缩小并压缩批量 PDF 文件。我更愿意在 Windows 上执行此操作,但如果这意味着更顺畅的工作流程,Linux 也可以。

我知道有 NitroPDF 和 Acrobat 等程序可以实现这一点,但我担心这必须逐个文件进行。这些程序也不便宜,我宁愿不买它们,只为了使用一两个功能。

背景信息:我使用 CamScanner 将收据和发票数字化,以便记入帐户(FreeAgent)。CamScanner pdf 均为 A4 大小,多页文件通常会超过 2MB 附件限制。

答案1

我在这里建议使用命令行工具,它可以轻松地使用 Windows、Linux、OS X 等内置脚本语言中的循环进行批处理。


图像魔术师支持 PDF 并具有resize选项及其转变工具。我个人从未使用过它,但你可以尝试使用它。

您还可以使用compress选项(有一个例子这里):

旋转 PDF

$ convert -rotate 270 -density 300x300 -compress lzw in.pdf out.pdf

这假设 PDF 是基于 TIFF 的。密度参数很重要,因为否则 ImageMagick 会降低图像的采样率(出于某种原因)。添加压缩选项有助于保持 PDF 的整体大小较小,而不会损失质量。

对于多页 PDF,您可能需要使用pdftk,然后使用mogrify使用 ImageMagick 来转换每个页面:

$ pdftk in.pdf burst
$ mogrify -rotate 270 -density 300x300 -compress lzw pg_*.pdf
$ pdftk pg*.pdf cat output out.pdf
$ rm pg*.pdf


要使用 ImageMagick 转换 PDF 文件,您需要GhostScript已安装。


ImageMagick 可以转换多页 PDF。虽然mogrify可以就地转换,但我建议您使用,convert这样您就可以在发生意外时保留原始文件。


我对您提供的示例 PDF 进行了一些测试。对我来说效果很好:

convert -density 200 -compress jpeg -quality 20 test.pdf test2.pdf

密度默认为72DPI。通过将其设置得更高,我们可以获得更高的分辨率,因此质量可以接受。它在 上看起来还不错150,而且有点小,但如果你想满足一系列 PDF 的要求,它200应该可以。

JPEG 压缩应该自动选择一个级别或默认为,92范围为1到,其中 为最佳。设置为,它看起来几乎和原始图像一样好(稍微模糊一点,底部的小文本有点难以阅读,但无论如何它原本就是如此)。10010020

这些选项将为您带来1.7MB取样至0.5MB,同时保持其可读性。您可以进行一些实验。

如果您想要更小的尺寸(文件和图像/PDF 的尺寸),您可以使用-resize #%,例如-resize 75%。但是,在您的示例 PDF 上,这会使底部的小字体几乎无法阅读。

如果空间仍然紧张,尤其是多页 PDF,您可以通过将文件添加到 ZIP(或其他)存档来进一步压缩。这样可以将测试 PDF 上的文件大小降低到 0.43MB(降低 JPEG 压缩质量的效果要大得多)。您还可以使用pdftk, 作为@glallen在他的编辑中建议,或者拆分档案并在另一端重新组合。

2MB 也是一个相当小的附件限制,你可能需要考虑其他电子邮件提供商。从记忆中,GMail 每封电子邮件提供超过 10MB 的空间。

这些选项以及其他选项均有完整记录在他们的网站上

答案2

因此convert,ImageMagick 将生成栅格化 PDF,许多人都希望保持矢量图形和文本不变,这样只压缩嵌入的图像。因此,进行压缩的良好替代方法是使用gs包中的ghostscript使用示例:

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

在上面的命令参数中:-dPDFSETTINGS=/ebook很重要。它可以有 3 个值:

-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi images)
-dPDFSETTINGS=/printer  (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default  (almost identical to /screen)

相关内容