Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php imagemagick composite将水印添加到pdf并提高质量_Php_Pdf_Imagemagick_Ghostscript - Fatal编程技术网

Php imagemagick composite将水印添加到pdf并提高质量

Php imagemagick composite将水印添加到pdf并提高质量,php,pdf,imagemagick,ghostscript,Php,Pdf,Imagemagick,Ghostscript,我需要在pdf中添加水印,我找到了两个带有ghostscript和imagemagick composite的解决方案。带水印的ghostscript无法从命令行调用,因此我使用命令复合 复合材料-质量100-重力东北-密度400-溶解80%-尺寸50x30-几何+100+20水印.png文件.pdf文件.pdf 问题是pdf中的结果质量差。如果使用图像而不是pdf质量是可以的 有什么想法吗?不确定您到底希望得到什么,但您需要更加小心参数的顺序。记住,ImageMagick有两种(实际上是三种或

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

复合材料-质量100-重力东北-密度400-溶解80%-尺寸50x30-几何+100+20水印.png文件.pdf文件.pdf

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


有什么想法吗?

不确定您到底希望得到什么,但您需要更加小心参数的顺序。记住,ImageMagick有两种(实际上是三种或更多)主要参数类型:

  • 设置(如
    -质量
    -密度
    -重力
    ),在处理结束前都会被记住。你也可以把所有这些都放在你命令的开头,然后把它们放在一边
  • 操作符(如
    -resize
    -crop
    -gripe
    )可立即作用于当前加载的所有图像
我认为您的命令中的问题在于,图像在要应用的操作符之后,而不是之前,并且您的
-size
没有调整任何大小-它只是为以后创建的任何画布设置大小-除了您没有:

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

你必须更加具体。你说的“质量差”到底是什么意思?您是否检查了中间文件以查看降级发生的位置?请发布一个示例输入文件,以便我们可以查看它,最好是一个示例输出文件。调查ImageMagick实际在做什么以及Ghostscript命令行是什么,可能有一些愚蠢的事情正在做。