【问题标题】:Ghostscript and pdfScale: Image quality loss when resizing PDFs?Ghostscript 和 pdfScale:调整 PDF 大小时的图像质量损失?
【发布时间】:2017-10-25 16:56:14
【问题描述】:

我正在尝试使用内部使用 Ghostscript 的 pdfScale (https://github.com/tavinus/pdfScale) 将已生成的 PDF 从 DIN A4 格式转换为 A5。它有大约 20 页,其中许多包含 .png 图像(主要是屏幕截图)。

我的问题是:在生成的 PDF 文件中,图像看起来更糟且像素化。这是pdfScale使用的GS函数:

# Runs GS call for resizing, nothing else should run here
gsPageResize() {
        # Change page size
        "$GSBIN" \
-q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dSAFER \
-dCompatibilityLevel="1.5" -dPDFSETTINGS="/printer" \
-dColorConversionStrategy=/LeaveColorUnchanged \
-dSubsetFonts=true -dEmbedAllFonts=true \
-dDEVICEWIDTHPOINTS=$RESIZE_WIDTH -dDEVICEHEIGHTPOINTS=$RESIZE_HEIGHT \
-dAutoRotatePages=$AUTO_ROTATION \
-dFIXEDMEDIA -dPDFFitPage \
-sOutputFile="$OUTFILEPDF" \
-f "$INFILEPDF" 
        return $?
}

我正在尝试更改或扩展它以在转换时删除图像压缩。 我已经查看了 Ghostscript 文档,但找不到针对我的案例控制图像压缩的参数。

有人知道我该如何控制吗?

【问题讨论】:

    标签: image pdf pdf-generation png ghostscript


    【解决方案1】:

    我终于找到了相当简单的解决方案:使用-dPDFSETTINGS="/default" 而不是-dPDFSETTINGS="/printer",PDF 中的图像质量保持不变。

    太糟糕了,我在官方文档中找不到它。感谢此要点的创建者:https://gist.github.com/firstdoit/6390547

    【讨论】:

    • 在官方文档中。我承认它没有说“如果你使用它,你会得到垃圾图像”,但设置表确实注意到“打印机”将图像降低到较低的分辨率。实际上,您更有可能看到重新量化 JPEG 图像的问题。您应该使用 Flate 压缩而不是 JPEG,除非您确定您的输入不包含 JPEG 图像。
    猜你喜欢
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    相关资源
    最近更新 更多