PDF Colo (u) r Анализ (без самого Acrobat?) - PullRequest
2 голосов
/ 19 января 2010

Есть ли библиотека / инструмент, который бы перечислял все цвета, используемые в документе PDF?

Я уверен, что Acrobat сам сделает это, но я бы хотел альтернативу (в идеале что-то, что можно было бы написать в сценарии).

Так что идея в том, что у вас есть очень простой PDF-документ с четырьмяцвета в нем на выходе могут сказать:

RGB(100,0,0)
RGB(105,0,0)
CMYK(0,0,0,1)
CMYK(1,1,1,1)

Ответы [ 6 ]

1 голос
/ 25 марта 2012

Недавно мы добавили функцию под названием GetPageColorSpaces (0) в Быструю библиотеку PDF - www.quickpdflibrary.com для получения большей части информации ColorSpace, используемой в документе.

Вот пример вывода.

Ресурс, \ "QuickPDFCS2eb0f578 \", Разделение, \ "HKS 52 E \", DeviceCMYK, 0,95,0,0.55,0
Ресурс, \ "QuickPDFCSb7b05308 \", разделение \ "Черный \", DeviceCMYK, 0,0,0,1
Ресурс, \ "QuickPDFCSd9f10810 \", Разделение, \ "Pantone 117 C \", DeviceCMYK, 0,0.18,1,0.15
Ресурс, \ "QuickPDFCS9314518c \", разделение \ "все \", DeviceCMYK, 0,1,0,0.5
Ресурс, \ "QuickPDFCS333d463d \", разделение \ "noplate \", DeviceCMYK, 1,0,0,0
Ресурс, \ "QuickPDFCSb41cafc4 \", разделение \ "NOPRINT \", DeviceCMYK, 0,1,0,0
Ресурс, \ "CS10 \", DeviceN, черный, Краситель, -1, -1, -1, -1
Ресурс, \ "CS10 \", DeviceN, P1495, Краситель, -1, -1, -1, -1
Ресурс, \ "CS10 \", DeviceN, CalRGB, Краситель, -1, -1, -1, -1
Ресурс, \ "CS10 \", разделение \ "P1495 \", DeviceCMYK, 0,0.31,0.69,0
XObject, \ "R29 \", изображение ,, DeviceRGB, -1, -1, -1, -1

1 голос
/ 17 марта 2010

Apago PDFspy генерирует файл XML, содержащий все виды метаданных, извлеченных из файлов PDF. Он сообщает об использовании цвета, включая плашечные цвета.

1 голос
/ 20 января 2010

Большинство инструментов PDF имеют доступ к этой информации, но не имеют API для доступа к ней. Вы можете взять любой инструмент и добавить его в

1 голос
/ 19 января 2010

Вы можете изучить внутренности с помощью pdfbox , но вам придется написать код, чтобы найти и каталогизировать все эти цвета.

0 голосов
/ 28 августа 2013

Если вы работаете с конкретными и простыми документами PDF из ограниченного источника, то вы сможете найти цвета, прочитав поток контента. Однако это не может быть общим решением.

Например, документы PDF могут содержать градиенты или прозрачность. Если ваш документ содержит конструкцию такого типа, то вы, скорее всего, получите широкий диапазон цветов, а не конкретный набор.

Точно так же многие документы PDF содержат растровые изображения. Учитывая, что их необходимо будет интерполировать для отображения в разных разрешениях, набор цветов в отображаемом PDF-файле может быть больше или отличаться (хотя, очевидно, во многом похож на) от встроенного растрового изображения.

Точно так же многие документы PDF содержат конструкции в нескольких цветовых пространствах, которые отображаются в разных цветовых пространствах. Например, PDF может содержать растровое изображение DeviceRGB, строку в цвете CMYK на основе ICC и прямоугольник на основе лаборатории. Отображаемая версия может быть в sRGB для отображения или в CMYK для печати. Каждый из них будет влиять на точный набор цветов.

Таким образом, единственный 100% правильный ответ будет связан с определенным рендером PDF с определенным разрешением для определенного цветового пространства. Из полученного растрового изображения вы можете определить использованные цвета.

Существует множество библиотек PDF, которые будут выполнять этот тип рендеринга, включая DotImage (на который есть ссылка в другом ответе) и ABCpdf .NET (над которым я работаю).

0 голосов
/ 21 января 2010

Отказ от ответственности: я работаю в Atalasoft.

Наш продукт, DotImage с надстройкой PDF Reader , может это сделать. Самый простой способ - растеризовать страницу, а затем просто использовать любой из наших инструментов анализа изображений, чтобы получить цвета.

В этом примере показано, как это сделать, если вы хотите сгруппировать похожие цвета - развернутый пример будет работать только для PNG и JPEG, но если вы загружаете код, тривиально включить дополнение и также получить PDF (дайте мне знать, если вам нужна помощь)

Источник здесь:

http://www.atalasoft.com/cs/blogs/31appsin31days/archive/2008/05/30/color-scheme-generator.aspx

Запустите его здесь:

http://www.atalasoft.com/31apps/ColorSchemeGenerator

...