如何减小 pdf 文件的大小?

如何减小 pdf 文件的大小?

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

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

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

问题是我无法准确指定质量。参数-dPDFSETTINGS=/screen决定了质量;但替代方案相当严格(例如,可以-dPDFSETTINGS=/ebook稍微提高质量)。

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

答案1

我能够使用@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

编辑:现在流行的 gs 的较新版本具有更短的语法:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
    -dQUIET -dDetectDuplicateImages \
    -dCompressFonts=true -r150 -o output.pdf input.pdf

谢谢@pierre-adrien

答案2

我发现最简单的方法是使用 LibreOffice Draw 打开源 PDF 文件,然后以预期的 DPI 导出为 PDF。

Draw 的导出对话框窗口允许您指定导出的 PDF 的 DPI 和其他选项。

答案3

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

使用 ghostscript 减小 pdf 大小

使用 gs 更改 pdf 图像 dpi

convert您是否尝试过在 Linux 中玩弄它?

编辑:

gs \
  -o out300.png \
  -sDEVICE=pngalpha \
  -r300 \
   input.pdf

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

或者

convert -units PixelsPerInch myPic.pdf -density 300 fileout.pdf

让我们知道进展如何!这适用于 pdf 或任何其他格式到任何其他格式。我只是使用了 myPic.pdf 的输入文件和 fileout.pdf 的输出文件

答案4

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=myNewFile.pdf myOldFile.pdf

这是我认为最简单的方法,可以将大小减小到 50+/- kb。在终端上,转到文件目录:示例

cd ~/document/files

然后输入上述代码:

myNewFile.pdf

是文件的新名称,

myOldFile.pdf

是文件的名称。

相关内容