将彩色 pdf 转换为传真友好的灰度 pdf(使用 Imagick)
Converting colorful pdfs to fax-friendly grayscale pdf (with Imagick)
我正在尝试将彩色 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:
Twilio 转换的 PDF:
和 Twilio 转换的 PDF 的缩放版本和纯色背景图案:
您没有 post 实际的 PDF,而是 PNG 图片。所以我用了那个。如果这不起作用,则 post 一个 link 到您的 PDF。
在 Imagemagick 中,您可以添加抖动图案。我假设 Imagick 中有等效的命令。这是 Imagemagick 命令。
convert l9IYF.png -colorspace gray -ordered-dither o3x3 tmp.png
convert l9IYF.png -colorspace gray -ordered-dither h6x6a tmp2.png
见https://www.imagemagick.org/Usage/quantize/#ordered-dither and http://us3.php.net/manual/en/imagick.orderedposterizeimage.php
我正在尝试将彩色 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:
Twilio 转换的 PDF:
和 Twilio 转换的 PDF 的缩放版本和纯色背景图案:
您没有 post 实际的 PDF,而是 PNG 图片。所以我用了那个。如果这不起作用,则 post 一个 link 到您的 PDF。
在 Imagemagick 中,您可以添加抖动图案。我假设 Imagick 中有等效的命令。这是 Imagemagick 命令。
convert l9IYF.png -colorspace gray -ordered-dither o3x3 tmp.png
convert l9IYF.png -colorspace gray -ordered-dither h6x6a tmp2.png
见https://www.imagemagick.org/Usage/quantize/#ordered-dither and http://us3.php.net/manual/en/imagick.orderedposterizeimage.php