Преобразование цветных PDF-файлов в PDF-формат для оттенков серого (с Imagick)

Я пытаюсь сделать красочное преобразование PDF в удобный для факса PDF (не используя слишком много чернил). Как Twilio справляется, это очень приятно. Я считаю, что это достижимо с Imagick. Моя основная мотивация - это конвертация с Imagick на моей стороне сервера, чтобы мой ввод и вывод конвертации Twilio не был полностью другим.

Я попробовал это, но они не похожи на ту Twilio's:

$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 и шаблон сплошного фона:

введите описание изображения здесь

введите описание изображения здесь

1 ответ

Решение

Вы не опубликовали фактический PDF, но изображение в формате PNG. Так что я использовал это. Если это не работает, тогда опубликуйте ссылку на свой 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/ и http://us3.php.net/manual/en/imagick.orderedposterizeimage.php

Другие вопросы по тегам