Рассчитать покрытие CMYK в PDF - PullRequest
6 голосов
/ 22 июня 2010

Я не думаю, что существуют какие-либо бесплатные библиотеки или библиотеки с открытым исходным кодом, способные рассчитать покрытие CMYK в PDF-файле.Я попытался осмотреться, кажется, я не смог их найти.Если там нет никого, если кто-то может указать мне правильное направление, что мне нужно сделать, чтобы рассчитать покрытие CYMK на PDF.О, также среда разработки, в которой я буду работать, это .net framework 4.0

Cheers

Ответы [ 2 ]

4 голосов
/ 20 декабря 2011

ОК, теперь есть новая опция (с нескольких дней назад) с Ghostscript для всех тех, кто желает скомпилировать ее из исходного кода. Это все еще «передовой край», и не рекомендуется для продуктивного использования. Остальным придется ждать следующего официального релиза.

Новая опция имеет форму нового «устройства» под названием inkcov . Это работает аналогично устройству «bbox», которое выплевывает значения BoundingBox для каждой страницы: устройство «inkcov» выплевывает значения C, M, Y и K покрытия чернилами, используемые для каждой страницы (значение 1 соответствует %). Помните, что общая сумма чернил может превышать 100% (например, смешивание 100% желтого с 100% пурпурного дает оптическое впечатление 100% «красного»).

Попробуйте эту команду с Ghostcript, скомпилированным из текущего источника Git :

gs -o - -sDEVICE=inkcov /path/to/your.pdf

Это выдаст вывод, подобный этому:

Page 1
 0.20898  0.20905  0.41320  0.55001 CMYK OK
Page 2
 0.33561  0.02026  0.21677  0.16750 CMYK OK
Page 3
 0.00000  0.00000  0.00000  1.00000 CMYK OK
[....]

Эта небольшая утилита была создана Себастьяном Капфером из Университета Эрлангена и внесена в исходный код Ghostscript. (Конечно, он все еще ожидает серьезного тестирования и проверки, сравнивая его результаты с другими подобными инструментами.)

2 голосов
/ 06 августа 2010

Вы можете использовать Ghostscript .Запустите его с устройством tiffsep или tiffsep1 с разрешением 72 dpi.Это создаст отдельные файлы TIFF для каждого красителя CMYK, которые затем можно будет использовать для «подсчета» покрытия для каждого цвета:

gswin32c.exe ^
    -sDEVICE=tiffsep ^
    -r72x72 ^
    -o "c:/path/to/output/dir/page_%03d.tif" ^
    c:/path/to/input.pdf

Это устройство создает несколько выходных файлов.Он создает:

  1. один 32-битный составной файл CMYK (формат tiff32nc, который является 32-битным CMYK [8 бит / компонент]), плюс
  2. несколько файлов Tiffgray - тиффрей (8 бит)серый, сжатый LZW) для каждого цветоделения.

Файлы Tiffgray сжаты в LZW.-sOutputFile=... -обозначенным именем файла будет файл CMYK.К именам разделительных файлов 'tiffgray' для красителей CMYK будут добавлены '.Cyan.tif', '.Magenta.tif' '.Yellow.tif' и '.Black.tif' к этому имени.Tiffsep также автоматически распознает плашечные цвета и создает для них дополнительные разделения Tiffgray;названия их имеют добавленный номер.(Вы также можете предварительно определить имена, передав -sSeparationColorNames в командной строке - но вам лучше прочитать подробности в документации Ghostscript, файл Devices.htm ).

Если выиспользуйте выходное устройство tiffsep1, результат будет аналогичным - разница в том, что вы получите только серые разделения (без 32-битного составного CMYK), но это будет TIFFФайлы G4 (схема сжатия G4).

Вы можете изменить схему сжатия, добавив -sCompression=lzw (или один из none | crle | g3 | g4 | pack).Помните, что использование =none для сжатия создаст файлы одинакового размера для каждого разделительного красителя.

...