将彩色pdf转换为传真友好的灰度pdf(使用Imagick)

时间:2018-01-26 19:57:50

标签: php pdf imagemagick imagick color-conversion

我正在尝试将彩色pdf转换为传真友好的pdf(不要使用过多的墨水)。 Twilio如何处理它是非常好的。我相信这可以通过Imagick实现。我的主要动机是在服务器端使用Imagick进行转换,这样我的Twilio转换输入和输出就不会完全不同了。

我试过这些,但他们似乎与Twilio的一个不相似:

$img->quantizeImage(255, Imagick::COLORSPACE_GRAY, 1, TRUE, FALSE);
$img->writeImage('output.png');

// and 
$img->quantizeImage(1, Imagick::COLORSPACE_GRAY, 1, TRUE, FALSE);

以上代码段会导致完全换色。

让我告诉你Twilio是如何做到的:

原始PDF:

enter image description here

Twilio转换PDF:

enter image description here

和Twilio转换PDF的缩放版本以及纯色背景图案:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

您没有发布实际的PDF,而是发布了PNG图像。所以我用过它。如果这不起作用,请发布指向PDF的链接。

在Imagemagick中,您可以添加抖动模式。我认为Imagick中有相同的命令。以下是Imagemagick命令。

convert l9IYF.png -colorspace gray -ordered-dither o3x3 tmp.png

enter image description here

convert l9IYF.png -colorspace gray -ordered-dither h6x6a tmp2.png

enter image description here

请参阅https://www.imagemagick.org/Usage/quantize/#ordered-ditherhttp://us3.php.net/manual/en/imagick.orderedposterizeimage.php