【问题标题】:Get rid of quality issues when modifying a PDF with ImageMagick使用 ImageMagick 修改 PDF 时摆脱质量问题
【发布时间】:2017-01-31 02:45:49
【问题描述】:

我们的目标是获取用户上传的 PDF 并在左上角放置一个“图章”(带有背景颜色 + 文本的框)。 “印章”部分效果很好,但是一旦我们通过 ImageMagick 传递 PDF,我们就会立即遇到质量问题 - 尤其是当原始 PDF 已经有某种伪影时。

这是我源 PDF 的屏幕截图(出于隐私原因添加了黑色区域)。 https://dl.dropboxusercontent.com/u/6271307/Screen%20Shot%202016-09-22%20at%2015.18.49.png 您可以看到质量不是很好,因为它是由复印机扫描的。

ImageMagick 处理后的结果如下: https://dl.dropboxusercontent.com/u/6271307/Screen%20Shot%202016-09-22%20at%2015.19.15.png

这是正在拨打的电话:

'/usr/bin/convert' +profile '*' -compress jpeg -quality 90 -density 180 -pointsize 10 -fill 'rgba(220, 220, 220, 0.75)' -stroke 'rgba(220, 220, 220, 0.75)' -draw 'rectangle 40,20,491,100' -stroke '#000000' -font Courier -draw "text 48,47 'Vermittlernummer Gesellschaft'" -draw "text 48,81 '70_202_3297'" mysource.pdf mytarget.pdf
  • 如果我省略“-compress jpeg -quality 90”参数,结果看起来相同,只是文件大小稍大一些。
  • 如果我省略“-density 180”参数,结果看起来会差很多

ImageMagick 的哪些选项可以帮助我获得更好的结果?

【问题讨论】:

    标签: pdf imagemagick


    【解决方案1】:

    首先尝试将您的 pdf 转换为 png。我之所以这么说是因为我下载了你的 .png 图片:

    https://dl.dropboxusercontent.com/u/6271307/Screen%20Shot%202016-09-22%20at%2015.18.49.png

    并运行您的代码:

      convert -density 180  +profile '*' -compress jpeg -quality 90 -pointsize 10 -fill 'rgba(220, 220, 220, 0.75)' -stroke 'rgba(220, 220, 220, 0.75)' -draw 'rectangle 40,20,491,100' -stroke '#000000' -font Courier -draw "text 48,47 'Vermittlernummer Gesellschaft'" -draw "text 48,81 '70_202_3297'" test.png mytarget.png
    

    得到了这个结果:

    这对我来说看起来不错。我使用您的代码输出了一个 .png,但 pdf 看起来一样好 - StackOverflow 似乎不允许上传 pdf。

    如果这不起作用,请告诉我!

    干杯。

    【讨论】:

    • 感谢您的回答。我试图在第一步中将 PDF 转换为 PNG,但是我已经遇到了这些问题。所以这个问题似乎与所写的格式无关,而与“阅读”部分有关。
    • 您是否尝试在转换中设置-密度?您可以在评论中发布您的代码或更新您的问题吗?
    猜你喜欢
    • 1970-01-01
    • 2016-09-25
    • 2015-01-16
    • 1970-01-01
    • 2014-10-29
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    相关资源
    最近更新 更多