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

如何将CMYK PDF批量转换为RGB?,pdf,pdf-generation,batch-processing,color-profile,Pdf,Pdf Generation,Batch Processing,Color Profile,我有一大批PDF(6000+)需要从CMYK颜色配置文件转换为RGB。是否有任何脚本可以完成这项任务,并且理想情况下没有(太)明显的颜色变化?PDF是最初设计用于打印的书籍文件,目前正准备作为电子书加载 我发现了一些InDesign脚本可能能够做到这一点,但在这一点上,从原始设计文件获取和重新导出将非常耗时。另一个选择似乎是通过AdobeAcrobat运行操作,但我还没有在这方面取得任何成功 我还发现了这一点Java,如果有人可以担保的话: 有什么建议或见解吗 我会使用Adobe Acroba

我有一大批PDF(6000+)需要从CMYK颜色配置文件转换为RGB。是否有任何脚本可以完成这项任务,并且理想情况下没有(太)明显的颜色变化?PDF是最初设计用于打印的书籍文件,目前正准备作为电子书加载

我发现了一些InDesign脚本可能能够做到这一点,但在这一点上,从原始设计文件获取和重新导出将非常耗时。另一个选择似乎是通过AdobeAcrobat运行操作,但我还没有在这方面取得任何成功

我还发现了这一点Java,如果有人可以担保的话:


有什么建议或见解吗

我会使用Adobe Acrobat Pro。进入工具,飞行前(可能位于不同的位置,取决于您的版本)

在PDF修订部分中,查找“转换为sRGB”。您可以在单个PDF中手动运行此命令,以查看它是否适合您。如果有,请转到选项菜单并选择“创建飞行前液滴”

您将获得一些关于成功和失败时如何操作的选项,但当您单击“保存”按钮时,您将获得一个适用于Windows、Mac的实际EXE文件,您应该获得一个应用程序文件。这个文件你们可以把文件和文件夹直接拖到,它会像Photoshop一样运行那个动作


您可以为此作业使用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
使用输出配置文件时,通常还需要设置。为此,请使用:

 -dRenderIntent=intent
其中,
intent

  • 0
    :用于感知
  • 1
    :用于比色法
  • 2
    :用于饱和
  • 3
    :用于绝对比色目的
Ghostscript甚至支持对不同类型的PDF内容使用不同的配置文件:图形、文本和图像。请看这里:

 -sGraphicICCProfile=graphicprofile-filename
 -sTextICCProfile=textprofile-filename
 -sImageICCProfile=imageprofile-filename
与上面解释的通用选项
-drendirentent
类似,您可以为不同的内容类型指定不同的意图:

 -dGraphicIntent=intent
 -dTextIntent=intent
 -dImageIntent=intent

使用AdobeAcrobatPro生成的预飞行可以在批处理过程中使用。在我的情况下,我必须在不影响其他颜色的情况下将专色转换为CMYK,因此我在
PDF修复部分选择
convert to CMYK only(SWOP)

保存预飞行后会生成一个.exe文件。可以使用下面的命令在命令提示符下进行测试

"%location_of_file%\Convert to CMYK only (SWOP).exe" "" "%file_name%"
我还准备了一个脚本,以便自动化这个过程,我可以给出它的小原型

d:
cd %dir% ::directory on which the batch process is to be run.
:cycle
set count_files=0
for %%x in (*.pdf) do set /a count_files+=1 ::PDF in my case so *.pdf
if %count_files%==0 ( GOTO :MISSING ) else (for /F %%a in ('dir /a-d /b /o-d *.pdf') do set oldest=%%a)
"%location_of_executable%\Convert to CMYK only (SWOP).exe" "" "%oldest%"
move %oldest%  %output_folder_with_location%\%oldest%
timeout 3 ::delay so that conversion process get completed
:MISSING
goto :cycle

此批处理脚本在失败或通过时会继续循环自身,如果有PDF要处理,此批处理脚本会首先开始转换最旧的文件。

工作非常完美。开发人员说(,,)没有
-sColorConversionStrategyForImages
开关。有没有办法在批处理过程中使用此开关?