如何减小pdf文件的大小?

Nic*_*ole 71 pdf ghostscript compression

我正在 Ubuntu 中寻找一种方法来减小 pdf 的大小(通过降低图像的质量)。

我知道这可以通过在终端中键入以下命令在 Ghostscript 中完成:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)

问题是我无法准确地指定质量。参数-dPDFSETTINGS=/screen是决定质量的参数;但替代方案是非常严格的(例如,可以-dPDFSETTINGS=/ebook为稍微好一点的质量做)。

我正在寻找一种方法来减小 pdf 的大小,使我能够以数字方式指定所需的质量。

Tul*_*lly 74

我能够使用@drN 中的 -r300 选项成功地对您的命令进行细微的更改。 -r 选项允许您在 pdf 和 png 中设置输出分辨率。

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
    -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages \
    -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)

  • 此命令将 25MB 的 4 页 PDF 转换为*几乎*相同质量的 PDF,但只有 2MB。干杯! (8认同)
  • 该命令消耗了我所有的 RAM (8Gb),并用 1000 页的 pdf 文件冻结了我的笔记本电脑。 (2认同)
  • 这对我不起作用。无论我使用什么值使用 `-r`,它总是给我一个与原始大小大致相同的输出(我压缩以转换扫描的 PDF)。 (2认同)

小智 22

我发现的最简单的方法是使用 LibreOffice Draw 打开源 PDF 文件,然后使用预期的 DPI 导出为 PDF。Draw 的导出对话框窗口允许您为导出的 PDF 指定 DPI 和其他选项。

  • 我尝试了所有其他命令行操作,但最终,这使我能够将压缩率提高到足以满足我的目的。 (4认同)
  • 图形方式,仍然有很多控制权。 (3认同)
  • 对于像证书这样的大字体文档,**DPI 为 100** 和 **JPEG 压缩率为 80%** 似乎可以产生最佳的大小质量权衡。我可以将 12 MB 的文档减少到 110 KB。 (2认同)

dea*_*arN 12

我在 Stackoverflow 上发布的这两篇文章应该对您有所帮助。我试图减小 pdf 的大小,同时确保它们满足我论文的特定 dpi 或 ppi。

使用 ghostscript 减小 pdf 的大小

使用 gs 更改 pdf 图像 dpi

你试过convert在 Linux 上玩吗?

编辑:

gs \
  -o out300.png \
  -sDEVICE=pngalpha \
  -r300 \
   input.pdf
Run Code Online (Sandbox Code Playgroud)

如果我没记错的话,r300是输出,dpi但您可能想检查一下。不过,这会将 pdf 转换为 png。

或者

convert -units PixelsPerInch myPic.pdf -density 300 fileout.pdf
Run Code Online (Sandbox Code Playgroud)

让我们知道怎么回事!这是用于 pdf 或任何其他格式的任何其他格式。我只是使用了 myPic.pdf 的输入文件和 fileout.pdf 的输出文件

  • 即使我使用 100 dpi,转换也会增加我的 pdf 大小。也许最好的选择是使用“gs”转换为png,然后“转换”为pdf? (2认同)

dop*_*xxx 5

如果减少文件的大小是你的首要目标(而不是仅仅减少的数字大小,也不能以数字指定质量),怎么样ps2pdf

ps2pdf input.pdf output.pdf
Run Code Online (Sandbox Code Playgroud)

根据 PDF 的特性,这可以将文件大小减少一个数量级。