如何减小包含图像的pdf文件的大小?


19

我有一个包含图像的pdf文件,我想减小其大小以便将其上传到具有大小限制的网站。

那么,如何从命令行减小pdf文件的大小?

Answers:


26

您可以按以下方式使用gs-GhostScript(PostScript和PDF语言解释器和预览器):

  • pdfwrite设置为输出设备-sDEVICE=pdfwrite
  • 使用适当的-dPDFSETTINGS

    文档

    -dPDFSETTINGS =配置
    将“蒸馏器参数”预设为四个预定义设置之一:

    • / screen选择类似于Acrobat Distiller“屏幕优化”设置的低分辨率输出。
    • / ebook选择类似于Acrobat Distiller“ eBook”设置的中等分辨率输出。
    • / printer选择类似于Acrobat Distiller“打印优化”设置的输出。
    • / prepress选择类似于Acrobat Distiller“ Prepress Optimized”设置的输出。
    • / default选择旨在在多种用途中有用的输出,可能以较大的输出文件为代价。
  • -o输出文件的选项,该文件也设置-dNOPAUSE-dBATCH(请参阅与交互有关的参数

例:

$ du -h file.pdf 
27M file.pdf

$ gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -q -o output.pdf file.pdf

$ du -h output.pdf 
900K    output.pdf

在此-q抑制正常的启动消息,并且也等效于-dQUIET抑制常规信息注释


对我不起作用。tesseract尝试使用此命令收缩时,可搜索的PDF输出由保持完全不变。
加布里埃尔·斯台普斯

3
ps2pdf input.pdf output.pdf

我从ubuntu那里得到了答案,它对我有用。实际上减少了18.1Mb至1.0Mb


对我不起作用。tesseract尝试使用此命令收缩时,可搜索的PDF输出由保持完全不变。
加布里埃尔·斯台普斯

如果您不想选择GhostScript所需的所有选项,那么这非常简单。手册页说该脚本接受与相同的参数gs,它给出了以下示例:ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf
Cris Luengo

0

您可以尝试以下方法:

$ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Repeated allocation of very large block (appr. size 16764928):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 11837440):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 7254016):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 34041856):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.

real    0m23.677s
user    0m23.142s
sys     0m0.540s
$ du myFile*.pdf
108M    myFile.pdf
74M     myFile__SMALLER.pdf

它比gs107.5MiB输入文件要快,但在这种情况下最多可压缩30%。


对我不起作用。tesseract尝试使用此命令收缩时,可搜索的PDF输出由保持完全不变。
加布里埃尔·斯台普斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.