LINUX.ORG.RU

Сообщения hazartilirot

 

Разделить/Найти ч/б страницы и цветные с учётом цвет. пространства GhostScript

Приветствую знатоков, нужна ваша помощь.

Есть задача. Пользователь заливает .pdf файл на сайт для обработки на бек-енде нужно разделить файл на ч/б и цветные страницы для печати одной порции страниц на ч/б принтер и, цветные - на цветной. Для начала, хотя бы, точно определить и отобразить пользователю (текстом), кол-во ч/б и цветных страниц и, номера страниц.

Я чуть чуть погуглил и где-то в интернете один из пользователей запостил что-то типа

Monochrome (Black and White) pages:

gswin64c -q -o - -sDEVICE=inkcov DOCUMENT.pdf | grep «^ 0.00000 >0.00000 0.00000» | find /c /v ""

Color pages:

gswin64c -q -o - -sDEVICE=inkcov DOCUMENT.pdf | grep -v «^ >0.00000 0.00000 0.00000» | find /c /v ""

У меня пока отсутствует опыт работы с Ghostscript. Однако, эти команды не учитывают многих особенностей.

Когда пользователь работает с Word(овскими) документами и сохраняет его к PDF, все страницы, с обычным текстом, идут в RGB пространстве со значениями 0/0/0. Если отконвертировать их в CMYK пространство то, чёрный превращается в комбинированный. Дизайнеры ещё называют глубокий чёрный. Поэтому, когда запускаешь первую команду (определить чёрно-белый) - они все считаются цветными.

Тут, было бы правильным, отнести диапазон значений, в который отнести не только значения CMYK 0/0/0/0, но и серый и глубокий чёрный.

С другой стороны, я даже не представляю себе, а как ghostscript будет определять страницу, если будет чёрный цвет текста и одно слово, скажем, синим. Или будет цветная картинка.

нашёл для Node.JS уже модуль, думаю, буду работать через него. https://www.npmjs.com/package/ghostscript4js

Разделять собираюсь, наверное, при помощи pdftk.exe.

Спасибо большое за любую информацию.

 ,

hazartilirot
()

RSS подписка на новые темы