pdf - 如何将 CMYK PDF 批量转换为 RGB?

标签 pdf pdf-generation batch-processing color-profile

我有一大批 PDF(超过 6,000 个)需要从 CMYK 颜色配置文件转换为 RGB。是否有任何脚本可以完成此任务,并且最好没有(太)明显的颜色变化? PDF 是最初设计用于打印的书籍文件,正准备加载为电子书。

我发现了一些可能能够执行此操作的 InDesign 脚本,但此时从原始设计文件中获取并重新导出将非常耗时。另一个选项似乎是通过 Adob​​e 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/

相关文章:

java - org.hibernate.StaleStateException : Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

java - 是否可以在pdf文件中嵌入java程序(或applet)

php - ghostscript 在 php 中不起作用

javascript - 使用javascript从div中的pdf对象提取并添加链接?

java - iText - 如果有可用空间,则在最后一页末尾添加表格

windows - 如何在 Windows 命令提示符下对变量进行字符串替换?

java - 如何允许用户将 byte[] 或 base64 下载到他们选择的目录

java - iText Flying Saucer 如何更改最后一页的背景

Delphi PDF生成

batch-file - 使用 BAT 文件在连接失败时自动重新连接 VPN Cisco