如果要将ImageMagick的identify
识别为CMYK,那么我有很多麻烦。将PDF转换为CMYK(具有识别CMYK的识别码)
本质,让我们说我建立这个文件,test.tex
,与pdflatex
:
\documentclass[a4paper,12pt]{article}
%% https://tex.stackexchange.com/questions/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/questions/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,这将由identify
被确认为CMYK - 但没有运气,即使有:
$ 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: Palette
);但除此之外它仍然会看到一个RGB色彩空间!
与此相伴,注意identify
能够正确地报告一个CMYK PDF - 见CMYK poster example: fitting pdf page size to (bitmap) image size? #17843 - TeX - LaTeX - Stack Exchange用于使用convert
和gs
这样一个PDF文件的命令行的例子。事实上,我们可以执行:
convert test.pdf -depth 8 -colorspace cmyk -alpha Off test-c.pdf
...和一个PDF,这将是identify
版为CMYK这将结果 - 但是,PDF也将光栅化(72 dpi的默认值)。
编辑:我刚刚发现,如果我在OpenOffice中创建.odp演示文稿,并将其导出为PDF;该PDF将被默认RGB,但是,下面的命令(从ghostscript Examples | Production Monkeys):
# 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 PDF ,它在
identify
中被识别为这样(并且因此将构建CMYK颜色的正确直方图) - 是否有任何其他与
identify
类似的命令行Linux工具,即使在原始0中也可以正确识别CMYK颜色的使用frompdflatex
(并可能建立一个颜色直方图,基于任意选择的PDF页面,如identify
应该是)?
预先感谢任何答案,
干杯!
一些参考:
- adobe - Script (or some other means) to convert RGB to CMYK in PDF? - Stack Overflow
- color - PDF colour model and LaTeX - TeX - LaTeX - Stack Exchange
- color - Option cmyk for xcolor package does not produce a CMYK PDF - TeX - LaTeX - Stack Exchange
- Making a cmyk PDF - comp.text.tex | Computer Group
- colormanagement with ghostscript ? - Rhinocerus:
它是否指定为“0 0 0 1 setcmykcolor”?或者可能更像是“0 0 0 setrgbcolor”?在 后一种情况下,如果DeviceRGB为 ,则会重新映射到基于CIE的色彩空间,以便获得RGB图像颜色 的管理权限。
用来捕获非常感谢,@pipitas - 还没有考出你的命令的时间,但它看起来很有道理,所以我在这里设置的接受现在...干杯! – sdaau 2012-02-03 08:53:02
我发现使用给定的命令会将JPEG制品添加到我的图像中。添加'-dEncodeColorImages = false'可以防止这种情况发生,同时仍然可以转换颜色。有关非颜色变体,请参见[源代码](http://superuser.com/questions/360216/use-ghostscript-but-tell-it-to-not-reprocess-images)。 – Marein 2015-05-28 12:25:35
@Marein:感谢您的评论 - 我已将其内容包含在我的答案更新中。 – 2015-05-28 12:53:57