Мне очень сложно получить ImageMagick identify
, чтобы идентифицировать PDF как CMYK.
По существу, скажем, я создаю этот файл test.tex
, с pdflatex
:
\documentclass[a4paper,12pt]{article}
%% https://tex.stackexchange.com/info/13071
\pdfcompresslevel=0
%% http://compgroups.net/comp.text.tex/Making-a-cmyk-PDF
%% ln -s /usr/share/color/icc/sRGB.icm .
% \immediate\pdfobj stream attr{/N 4} file{sRGB.icm}
% \pdfcatalog{%
% /OutputIntents [ <<
% /Type /OutputIntent
% /S/GTS_PDFA1
% /DestOutputProfile \the\pdflastobj\space 0 R
% /OutputConditionIdentifier (sRGB IEC61966-2.1)
% /Info(sRGB IEC61966-2.1)
% >> ]
% }
%% http://latex-my.blogspot.com/2010/02/cmyk-output-for-commercial-printing.html
%% https://tex.stackexchange.com/info/9961
\usepackage[cmyk]{xcolor}
\begin{document}
Some text here...
\end{document}
Если я попытаюсь идентифицировать полученный файл test.pdf
, я получаю его как RGB, независимо от того, какие параметры я пытался (по крайней мере, по ссылкам в источнике) - и все же цвета в нем будут сохраняться как CMYK; для источника выше:
$ grep -ia 'cmyk\|rgb\| k' test.pdf
0 0 0 1 k 0 0 0 1 K
0 0 0 1 k 0 0 0 1 K
0 0 0 1 k 0 0 0 1 K
0 0 0 1 k 0 0 0 1 K
FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup
/PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.11-2.2 (TeX Live 2010) kpathsea version 6.0.0)
$ identify -verbose 'test.pdf[0]'
...
Type: Palette
Endianess: Undefined
Colorspace: RGB
Depth: 16/8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Red:
...
Green:
...
Blue:
...
Histogram:
5: (12593,11565,11822) #31312D2D2E2E rgb(49,45,46)
4: (16448,15420,15677) #40403C3C3D3D rgb(64,60,61)
9: (20303,19275,19532) #4F4F4B4B4C4C rgb(79,75,76)
25: (23901,23130,23387) #5D5D5A5A5B5B rgb(93,90,91)
...
То же самое происходит, если я также раскомментирую, что \immediate\pdfobj stream ...
часть; и все же, если в документе есть только один цвет (черный), я не вижу, где identify
появляется гистограмма значений RGB (хотя, возможно, все они близки к серым)?!
Так что никогда не думайте об этом, тогда я бы попытался использовать ghostscript
для преобразования test.pdf
в новый pdf, который был бы признан CMYK на identify
- но даже не удачи:
$ gs -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=test-gs.pdf -dUseCIEColor -sProcessColorModel=DeviceRGB -dProcessColorModel=/DeviceCMYK -sColorConversionStrategy=/CMYK test.pdf
GPL Ghostscript 9.01 (2011-02-07)
Copyright (C) 2010 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
$ identify -verbose 'test-gs.pdf[0]'
...
Type: Grayscale
Base type: Grayscale
Endianess: Undefined
Colorspace: RGB
Depth: 16/8-bit
...
Итак, единственное, что воспринимается как identify
как изменение, - это Type: Grayscale
(из предыдущего Type: Palette
); но в остальном он все еще видит цветовое пространство RGB!
Кроме того, обратите внимание, что identify
-, способный корректно сообщать CMYK pdf - см. Пример плаката CMYK: установка формата pdf-страницы в (растровое изображение ) Размер изображения? # 17843 - TeX - LaTeX - Stack Exchange для примера командной строки для создания такого PDF файла с помощью convert
и gs
. Фактически, мы можем выполнить:
convert test.pdf -depth 8 -colorspace cmyk -alpha Off test-c.pdf
... и этот будет результат с PDF, который будет identify
ed как CMYK - однако PDF также будет растеризован (по умолчанию - 72 dpi).
EDIT: Я только что обнаружил, что если я создам презентацию .odp в OpenOffice и экспортирую ее в PDF; что PDF по умолчанию будет RGB, однако, следующая команда (из примеры ghostscript | Производственные обезьяны):
# Color PDF to CMYK:
gs -dSAFER -dBATCH -dNOPAUSE -dNOCACHE -sDEVICE=pdfwrite \
-sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK \
-sOutputFile=output.pdf input.pdf
... на самом деле создаст CMYK pdf, который будет представлен как таковой identify
(хотя черный будет богатым, а не простым - на всех четырех каналах); однако эта команда будет работать только тогда, когда слайд имеет добавленное изображение (видимо, это тот, который запускает преобразование цвета?!)! Смешно, я не могу получить тот же эффект от pdflatex
PDF.
Итак, мой вопрос можно задать двумя способами:
- Есть ли какие-либо методы преобразования командной строки в Linux, которые преобразуют RGB файл в pdf файл CMYK при сохранении векторов, который распознается как таковой в
identify
(и, следовательно, построит правильную гистограмму цветов CMYK) - Есть ли другие инструменты командной строки Linux, похожие на
identify
, которые будут правильно распознавать цвета CMYK даже в исходномtest.pdf
отpdflatex
(и, возможно, построить гистограмму цвета, основанную на произвольно выбранном PDF-страница, напримерidentify
)?
Заранее благодарим за любые ответы,
Ура!
Некоторые ссылки:
- adobe - Script (или некоторые другие средства) для преобразования RGB в CMYK в PDF? - Переполнение стека
- цвет - цветная модель PDF и LaTeX - TeX - LaTeX - стоп-обмен
- color - Опция cmyk для пакета xcolor не создает CMYK PDF - TeX - LaTeX - Stack Exchange
- Создание cmyk PDF - comp.text.tex | Компьютерная группа
- colormanagement с ghostscript? - Носорог:
Это, например, указано как "0 0 0 1 setcmykcolor"? Или, возможно, скорее как "0 0 0 setrgbcolor"? в последнем случае вы получите богатый черный текст, если DeviceRGB переназначается в цветовое пространство на основе CIE, чтобы получить цвет изображений RGB удалось.