我有一个 72.9 MB 的 PDF 文件,需要将其缩小到 500 KB 或以下。
该文件是我扫描然后转换为 PDF 的 JPEG 图像。
答案1
使用以下Ghostscript命令:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
的总结-dPDFSETTINGS
:
-dPDFSETTINGS=/screen
质量较低,尺寸较小。(72 dpi)-dPDFSETTINGS=/ebook
以获得更好的质量,但 PDF 会稍微大一些。(150 dpi)-dPDFSETTINGS=/prepress
输出类似于 Acrobat Distiller“印前优化”设置(300 dpi)-dPDFSETTINGS=/printer
选择类似于 Acrobat Distiller“打印优化”设置的输出(300 dpi)-dPDFSETTINGS=/default
选择可用于多种用途的输出,但可能以更大的输出文件为代价
参考:
特定于 PostScript 和 PDF 输入的控件和功能
-dPDFSETTINGS=configuration
将“蒸馏器参数”预设为四个预定义设置之一:
/screen
选择类似于 Acrobat Distiller(最高版本 X)“屏幕优化”设置的低分辨率输出。/ebook
选择类似于 Acrobat Distiller(最高版本 X)“电子书”设置的中等分辨率输出。/printer
选择类似于 Acrobat Distiller“打印优化”(最高至版本 X)设置的输出。/prepress
选择类似于 Acrobat Distiller“印前优化”(最高至版本 X)设置的输出。/default
选择适合多种用途的输出,但可能以更大的输出文件为代价。
每个选项的精确设置(包括其 DPI 值)都显示在这张桌子。
答案2
我最喜欢的方法是将 PDF 转换为 PostScript 并转回。虽然这种方法并不总是有效,但当它有效时,结果会很不错:
ps2pdf input.pdf output.pdf
正如评论中所建议的,这也直接适用于 PDF。
一些用户还报告说使用以下方法更成功电子书设置如下:
ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf
答案3
aking1012 说得对。如果有更多关于可能嵌入的图像、超链接等的信息,回答这个问题就会容易得多!
这里有几个脚本和命令行解决方案。请根据需要使用。
答案4
我需要缩小包含文档全彩扫描件的 PDF 的大小。就文件而言,我的每一页都是全彩图像。它们是包含文本和图像的页面的图像,但它们是通过扫描到图像创建的。
我结合使用了下面的 ghostscript 命令和来自另一个线程的命令。
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \
-dColorImageResolution=150 -dNOPAUSE -dBATCH -sOutputFile=output.pdf input.pdf
这会将图像分辨率降低到 150dpi,将文件大小减半。查看文档时,图像质量几乎没有明显下降。文本在我的 2012 Nexus7 上仍然清晰可读。