我正在寻找一种在 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。
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
是文件的名称。