当前位置: 首页>>技术教程>>正文


如何缩小扫描的PDF文件的文件大小?

, ,

问题描述

我有一个72.9MB的PDF文件,我需要缩小到500KB以下。

该文件是我扫描的JPEG图像,然后转换为pdf。

最佳解决办法

aking1012是对的。随着更多关于可能的嵌入式图像,超链接等的信息,回答这个问题会更容易!

这里有几个脚本和命令行解决方案。如你所见,使用。

次佳解决办法

使用以下ghostscript命令:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
  • -dPDFSETTINGS=/screen质量较低,体积较小。

  • -dPDFSETTINGS=/ebook更好的质量,但略大pdf。

  • -dPDFSETTINGS=/prepress输出类似于Acrobat Distiller “Prepress Optimized”设置

  • -dPDFSETTINGS=/printer选择类似于Acrobat Distiller “Print Optimized”设置的输出

  • -dPDFSETTINGS=/default选择用于各种用途的输出,可能会牺牲较大的输出文件

第三种解决办法

我最喜欢的方式是将pdf转换为ps并返回。但它并不总是有效,但是当它工作时,结果很好:

ps2pdf input.pdf output.pdf

正如评论中所建议的那样,这也直接适用于pdf。

第四种办法

如果您的PDF文件带有扫描图像,您可以使用convert创建一个带有jpeg压缩的pdf(您可以在任何pdf上使用此方法,但是会丢失所有文本信息)。

例如:

convert -density 200x200 -quality 60 -compress jpeg input.pdf output.pdf

调整密度(例如100×100)和质量以满足您的需求。

根据您的输入,由于压缩伪影,jpeg压缩可能不是最佳选择。您可以选择BZip,传真,Group4,JPEG,JPEG2000,Lossless,LZW,RLE或Zip作为备用压缩方法(某些仅允许黑白图像)。有关详细信息,请参阅here

我能够为扫描/拍摄的文档实现很高的压缩比率(取决于设置)。根据文档来源,您可能想要减少颜色深度(-depth参数)。

第五种办法

我需要缩小包含文档全色扫描的PDF。就文件而言,我的每一页都是全彩色图像。它们是包含文本和图像的页面的图像,但它们是通过扫描到图像而创建的。

我使用了下面的ghostscript命令和另一个线程的组合。

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \
-dColorImageResolution=150 -dNOPAUSE  -dBATCH -sOutputFile=output.pdf input.pdf

这将图像分辨率降低到150dpi,将我的文件大小减半。看这份文件,图像质量几乎没有明显的损失。该文本在我的2012 Nexus7上仍然非常易读。

第六种办法

  1. 我使用LibreOffice Draw来打开pdf。

  2. 然后我“导出为pdf”

  3. 并将“jpeg压缩质量”设置为50%,将”image resolution”设置为150 dpi

这会有很好的结果。

第七种办法

我只是自己遇到了这个问题。如果使用简单扫描,请选择文本模式进行低分辨率扫描,您不必担心命令行的问题。只是说。

第八种办法

由于这个链接是我在Google搜索时的第一个链接,我想我会再添加一个可能性。上述解决方案都不适用于从Inkscape(15 mb)输出的pdf,但最终我可以通过在GIMP中打开并将其缩小为1 MB来重新导出为pdf格式。

另一个接近的选项(但文字有点模糊)是ImageMagick的转换工具:

convert -compress Zip input.pdf output.pdf

第九种办法

最后,我写了自己的bash脚本来解决这个问题,它使用mogrifyconvertgs将png页面提取为png,调整大小,将它们转换为1位bmp,然后将它们重建为pdf。文件大小减少可以超过90%。可在http://www.timedicer.co.uk/programs/help/pdf-compress.sh.php

第十种办法

最适合我的是

convert -compress Zip -density 150x150 input.pdf output.pdf

其他方法:

#### gs
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

### pdf2ps && ps2pdf
pdf2ps input.pdf output.ps && ps2pdf output.ps output.pdf

### Webservice
http://compress.smallpdf.com/de

问候

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/127.html,未经允许,请勿转载。