imagemagick复合添加水印到pdf和质量

时间:2016-08-02 04:25:13

标签: php pdf imagemagick ghostscript

我需要在pdf中添加水印,我找到了两个解决方案 - 使用ghostscript和imagemagick复合。带水印的ghostscript无法从命令行调用,所以我使用命令复合

composite -quality 100 -gravity NorthEast -density 400 -dissolve 80% -size 50x30 -geometry +100+20 watermark.png file.pdf file.pdf

问题是pdf的结果质量差。如果使用图像而不是pdf质量可以。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

不确定您的目标是什么,但您需要更加小心参数的排序。请记住,ImageMagick有两种(实际上是三种或更多种)主要参数类型:

  • 设置(例如-quality-density-gravity),直到处理结束时才会记住这些设置。您也可以将所有这些放在命令的开头,并将它们排除在外。
  • 运算符(例如-resize-crop-sharpen)会立即对所有当前加载的图片执行操作。

我认为您的命令中的问题是,您想要应用之后的图像而不是之前的并且您的-size不是&# 39;重新调整任何东西 - 它只是设置你以后创建的任何画布的大小 - 除了你没有:

composite -quality 100 -gravity NorthEast -density 400 -dissolve 80% watermark.png -resize 50x30 -geometry +100+20 file.pdf file.pdf