问题描述
我有一个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上仍然非常易读。
第六种办法
-
我使用LibreOffice Draw来打开pdf。
-
然后我“导出为pdf”
-
并将“jpeg压缩质量”设置为50%,将”image resolution”设置为150 dpi
这会有很好的结果。
第七种办法
我只是自己遇到了这个问题。如果使用简单扫描,请选择文本模式进行低分辨率扫描,您不必担心命令行的问题。只是说。
第八种办法
由于这个链接是我在Google搜索时的第一个链接,我想我会再添加一个可能性。上述解决方案都不适用于从Inkscape(15 mb)输出的pdf,但最终我可以通过在GIMP中打开并将其缩小为1 MB来重新导出为pdf格式。
另一个接近的选项(但文字有点模糊)是ImageMagick的转换工具:
convert -compress Zip input.pdf output.pdf
第九种办法
最后,我写了自己的bash脚本来解决这个问题,它使用mogrify
,convert
和gs
将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
问候