我有一大批 PDF(超过 6,000 个)需要从 CMYK 颜色配置文件转换为 RGB。是否有任何脚本可以完成此任务,并且最好没有(太)明显的颜色变化? PDF 是最初设计用于打印的书籍文件,正准备加载为电子书。
我发现了一些可能能够执行此操作的 InDesign 脚本,但此时从原始设计文件中获取并重新导出将非常耗时。另一个选项似乎是通过 Adobe Acrobat 运行 Action ,但我还没有成功。
我还发现了这段 Java,如果有人可以证明的话: http://www.aspose.com/docs/display/pdfjava/Changing+Color+space+of+a+PDF+document
有什么建议或见解吗?
最佳答案
您可以使用 Ghostscript 来完成这项工作。不过,请确保使用最新版本。
这是一个命令来尝试:
gs \
-o rgb.pdf \
-sDEVICE=pdfwrite \
-sProcessColorModel=DeviceRGB \
-sColorConversionStrategy=RGB \
-sColorConversionStrategyForImages=RGB \
cmyk.pdf
请注意,实现转换的目标“理想情况下没有(太)明显的颜色变化”并不总是可行的。这在很大程度上取决于输入 PDF 是否确实使用了嵌入的颜色配置文件,以及使用哪种颜色配置文件。
它还取决于您应用的颜色配置文件。上面的命令将使用编译到 Ghostscript 中的默认 RGB 配置文件。要使用自定义配置文件,您可以添加各种命令行参数。要对所有类型的 PDF 内容使用一个配置文件,请使用:
-sDefaultRGBProfile=rgb-profile-filename
这定义了源文件中尚未按比色法定义的源颜色。
如果您想覆盖已经嵌入到 PDF 文档中的配置文件,请添加:
-dOverrideICC=true
在这些选项之上,您还可以控制输出设备的 ICC 配置文件,方法是添加:
-sOutputICCProfile=output-profile-filename
使用输出配置文件时,您经常还想设置 rendering intent 。为此目的,使用:
-dRenderIntent=intent
其中 intent
是其中之一
0
:用于感知1
:用于比色2
:饱和度3
:用于绝对色度目的。
Ghostscript 甚至支持对不同类型的 PDF 内容使用不同的配置文件:图形、文本和图像。看这里:
-sGraphicICCProfile=graphicprofile-filename
-sTextICCProfile=textprofile-filename
-sImageICCProfile=imageprofile-filename
类似于上面解释的通用选项-dRenderIntent
,您可以为不同的内容类型指定不同的意图:
-dGraphicIntent=intent
-dTextIntent=intent
-dImageIntent=intent
关于pdf - 如何将 CMYK PDF 批量转换为 RGB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24615094/