【问题标题】:Converting PDF to PNG imagemagick vs GIMP将 PDF 转换为 PNG imagemagick vs GIMP
【发布时间】:2018-03-16 23:22:12
【问题描述】:

我正在尝试将 PDF 批量转换为 PNG。以前,这总是通过 GIMP 手动完成,方法是导入 PDF,然后将其转换为 PNG。

使用我编写的脚本,这一切都应该自动完成。但由于某种原因,我使用

获得的图像质量

convert \ -density 300 \ -adaptive-resize 2048 \ -define png:compression-level=9 \ "File1" "File2"

与通过 GIMP 进行的“质量”不同。请参阅下图了解图像质量的差异。

在 GIMP 中,我对图像没有太大的改变。当我导入 PDF 时,我将分辨率更改为 2048 像素。当我将其转换并导出为 PNG 时,我使用 GIMP 提供的所有默认值,没什么特别的。

将密度更改为更高或更低的值不会对图像产生任何影响。将自适应调整大小更改为正常调整大小也没有多大作用。

在示例图像中,两张图片的宽度均为 2048 像素。正如你所看到的,下图有很多更粗/更模糊的线条。

示例图片比较:

【问题讨论】:

  • 尝试将 -density 增加到 600 或 1200,然后重试。否则,请发布您的原始 PDF
  • 尝试增加和减少浓度,图像变得更清晰。但是线条变细了,图像整体变得越来越不透明。尽管我的图像越来越接近 GIMP 图像。它仍然不一样。如果在原始 pdf 中有一条正好是一个像素的黑线,则转换脚本将添加一些“模糊”,并且在来自脚本的 PNG 文件中,它会在该线上方和下方一个像素得到一条灰色线。
  • 发布您的 PDF 文件。另请注意,Imagemagick 依赖 Ghostscript 来处理 PDF 文件。你的 Ghostscript 是最新的吗?

标签: image pdf png gimp


【解决方案1】:

所以,我找到了解决问题的方法。 增加 PPI 有点帮助,但仍然没有我希望的那么多。 最后我添加了这个:

-channel A -fx "p*(p>0.2?22:0)"  

只是我在附近某处找到的一些简单代码。它检查图片中的 Alpha 级别,如果它低于某个阈值,它将删除或“使像素”透明。如果它超过阈值,它只会将像素提升到最大可见度。结合高 PPI,我不再得到任何“半像素”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-31
    • 2011-02-21
    • 2016-08-21
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    相关资源
    最近更新 更多