Как выгрузить встроенную информацию профиля ICC в PDF? (командная строка или инструменты с графическим интерфейсом)

Есть ли командная строка или инструменты с графическим интерфейсом для вывода информации о профиле ICC/преобразовании цвета, которые установлены в опции «Управление цветом и параметры PDF/X для PDF» в диалоговом окне экспорта PDF в Illustrator?


Опция Illustrator «Управление цветом и параметры PDF/X для PDF».

[изображение] http://blogs.adobe.com/vikrant/files/2012/05/grayscale_export.png

[руководство]


person kaorukobo    schedule 19.07.2013    source источник


Ответы (2)


Вот метод, основанный на командной строке, для извлечения цветовых профилей ICC из PDF. Он использует скрипт Python pdf-parser.py, написанный исследователем безопасности Дидье Стивенсом, который можно скачать здесь.

Однако этот инструмент не является специализированным инструментом для извлечения ICC. (Я не знаю такого инструмента.) Это универсальный инструмент командной строки для исследования PDF-файлов.

Поэтому вам нужно пройти различные шаги, чтобы добиться извлечения.

Шаг 1. Определите идентификатор объекта PDF профиля ICC.

Вы должны использовать -s для поиска строки ICCBased. (Файлы PDF без встроенного профиля ICC не будут иметь этого ключевого слова [за исключением возможного использования его в их текстовом содержимом...].)

pdf-parser -s ICCBased my.pdf

Мой тестовый PDF вернул это:

obj 18 0
 Type: 
 Referencing: 21 0 R

Кажется, что профиль ICC можно найти в объекте PDF 21.

Шаг 2. Посмотрите на объект PDF, найденный на шаге 1.

Вы должны использовать -o 21, чтобы увидеть, что такое объект PDF 21:

pdf-parser.py -o 21 my.pdf

Мой тестовый PDF возвращает это:

obj 21 0
 Type: 
 Referencing: 
 Contains stream

  <<
    /Alternate /DeviceRGB
    /Filter /FlateDecode
    /Length 2574
    /N 3
  >>

Ладно, похоже, мы приближаемся...

Шаг 3. Создайте дамп потока, содержащегося в объекте PDF, содержащем профиль.

На шаге 2 мы получили две важные информации:

  • Объект 21 PDF содержит поток (содержимое которого не показано при использовании параметра -o 21 для pdf-parser.py).
  • Поток объектов должен быть распакован с помощью /FlateDecode, чтобы добраться до его содержимого.

Следовательно, мы должны запустить pdf-parser.py сейчас с двумя дополнительными аргументами:

  • -d filename, чтобы сбросить поток объекта PDF 21 в файл.
  • -f, чтобы фильтровать/разжимать поток объектов при сохранении его в файл.
  • Команда для запуска: pdf-parser.py -o 21 -f -d 21.stream my.pdf

Шаг 4. Проверьте, что было извлечено

Теперь мы выгрузили поток объекта PDF 21 в файл с именем 21.stream. Посмотрим, что в нем содержится:

file 21.stream
 21.stream: Microsoft ICM Color Profile

Похоже, нам это удалось. :-)

Шаг 5: Откройте цветовой профиль

Я посмотрю, принимает ли моя система Mac OS X этот профиль:

mv 21.stream 21.icm
open 21.icm

OSX использует 'Утилита синхронизации цвета', чтобы открыть файл и отобразить окно. Щелчок по элементам списка открывает различные информационные панели в нижней части окна:

Утилита Color Sync для Mac OSX, показывающая различную информацию об извлеченном профиле ICM.

Шаг 6. Используйте iccdump Argyll для вывода содержимого профиля ICC в виде текста.

Обратите внимание, что ArgyllCMS Грэма Гилла, программное обеспечение для управления цветом с открытым исходным кодом, доступное для Linux, Mac OSX и Windows, поставляется с целым набором инструментов командной строки. Один из них iccdump. Мы можем использовать его для просмотра свойств только что выигранного файла 21.icm:

iccdump 21.icm

icc:
Header:
  size         = 3144 bytes
  CMM          = 'Lino'
  Version      = 2.1.0
  Device Class = Display
  Color Space  = RGB
  Conn. Space  = XYZ
  Date, Time   = 9 Feb 1998, 6:49:00
  Platform     = Microsoft
  Flags        = Not Embedded Profile, Use anywhere
  Dev. Mnfctr. = 'IEC '
  Dev. Model   = 'sRGB'
  Dev. Attrbts = Reflective, Glossy
  Rndrng Intnt = Perceptual
  Illuminant   = 0.964203, 1.000000, 0.824905    [Lab 100.000000, 0.000498, -0.000436]
  Creator      = 'HP  '

tag 0:
  sig      'cprt'
  type     'text'
  offset   336
  size     51
Text:
  No. chars = 43
    0x0000: Copyright (c) 1998 Hewlett-Packard Company

tag 1:
  sig      'desc'
  type     'desc'
  offset   388
  size     108
TextDescription:
  ASCII data, length 18 chars:
    0x0000: sRGB IEC61966-2.1
  No Unicode data
  ScriptCode Data, Code 0x0, length 18 chars
    0x0000: 73 52 47 42 20 49 45 43 36 31 39 36 36 2d 32 2e 31 00 

tag 2:
  sig      'wtpt'
  type     'XYZ '
  offset   496
  size     20
XYZArray:
  No. elements = 1

tag 3:
  sig      'bkpt'
  type     'XYZ '
  offset   516
  size     20
XYZArray:
  No. elements = 1

tag 4:
  sig      'rXYZ'
  type     'XYZ '
  offset   536
  size     20
XYZArray:
  No. elements = 1

tag 5:
  sig      'gXYZ'
  type     'XYZ '
  offset   556
  size     20
XYZArray:
  No. elements = 1

tag 6:
  sig      'bXYZ'
  type     'XYZ '
  offset   576
  size     20
XYZArray:
  No. elements = 1

tag 7:
  sig      'dmnd'
  type     'desc'
  offset   596
  size     112
TextDescription:
  ASCII data, length 22 chars:
    0x0000: IEC http://www.iec.ch
  No Unicode data
  ScriptCode Data, Code 0x0, length 22 chars
    0x0000: 49 45 43 20 68 74 74 70 3a 2f 2f 77 77 77 2e 69 65 63 2e 63 68 00 

tag 8:
  sig      'dmdd'
  type     'desc'
  offset   708
  size     136
TextDescription:
  ASCII data, length 46 chars:
    0x0000: IEC 61966-2.1 Default RGB colour space - sRGB
  No Unicode data
  ScriptCode Data, Code 0x0, length 46 chars
    0x0000: 49 45 43 20 36 31 39 36 36 2d 32 2e 31 20 44 65 66 61 75 6c 74 20 
...

tag 9:
  sig      'vued'
  type     'desc'
  offset   844
  size     134
TextDescription:
  ASCII data, length 44 chars:
    0x0000: Reference Viewing Condition in IEC61966-2.1
  No Unicode data
  ScriptCode Data, Code 0x0, length 44 chars
    0x0000: 52 65 66 65 72 65 6e 63 65 20 56 69 65 77 69 6e 67 20 43 6f 6e 64 
...

tag 10:
  sig      'view'
  type     'view'
  offset   980
  size     36
Viewing Conditions:
  XYZ value of illuminant in cd/m^2 = 19.644501, 20.371796, 16.808899
  XYZ value of surround in cd/m^2   = 3.928894, 4.074387, 3.361786
  Illuminant type = D50

tag 11:
  sig      'lumi'
  type     'XYZ '
  offset   1016
  size     20
XYZArray:
  No. elements = 1

tag 12:
  sig      'meas'
  type     'meas'
  offset   1036
  size     36
Measurement:
  Standard Observer = 1931 Two Degrees
  XYZ for Measurement Backing = 0.000000, 0.000000, 0.000000    [Lab 0.000000, 0.000000, 0.000000]
  Measurement Geometry = Unknown
  Measurement Flare =   1.0%
  Standard Illuminant = D65

tag 13:
  sig      'tech'
  type     'sig '
  offset   1072
  size     12
Signature
  Technology = Cathode Ray Tube Display

tag 14:
  sig      'rTRC'
  type     'curv'
  offset   1084
  size     2060
Curve:
  No. elements = 1024

tag 15:
  sig      'gTRC'
  type     'curv'
  offset   1084
  size     2060
Curve:
  No. elements = 1024

tag 16:
  sig      'bTRC'
  type     'curv'
  offset   1084
  size     2060
Curve:
  No. elements = 1024

P.S.
ArgyllCMS содержит инструмент командной строки extracticc, который может извлекать встроенный профиль ICC из файла TIFF. У него нет инструмента для извлечения профиля из файла PDF.

person Kurt Pfeifle    schedule 13.12.2014

Существует два распространенных места, где профили ICC могут храниться/использоваться в файлах PDF. Либо прикреплены к изображениям, либо сохранены в области назначения вывода PDF/X файла PDF.

Такие инструменты, как callas pdfToolbox (внимание, я связан с этой компанией!) и Enfocus Pitstop, способны отображать всю информацию о цвете в файле PDF либо через графический интерфейс, либо с использованием (в случае pdfToolbox интерфейса командной строки).

person David van Driessche    schedule 19.07.2013
comment
Спасибо. :) Это хороший выбор, если не учитывать стоимость. (более дешевый Enfocus Pitstop стоит 799 долларов) - person kaorukobo; 21.07.2013
comment
pdfToolbox Desktop на самом деле дешевле. Оправданы ли эти затраты в вашем случае, вам предстоит выяснить. В вашем вопросе вообще не упоминается стоимость... - person David van Driessche; 21.07.2013