我有一大批PDF(6,000 +)需要从CMYK颜色配置文件转换为RGB。是否有任何脚本可以完成此任务,理想情况下没有(太)可见的颜色变化? PDF是最初为打印而设计的书籍文件,准备作为电子书加载。
我发现了一些可能能够执行此操作的InDesign脚本,但此时从原始设计文件中获取和重新导出将非常耗时。另一种选择似乎是通过Adobe Acrobat运行,但我还没有取得任何成功。
我还发现了这一点Java,如果有人可以保证它: http://www.aspose.com/docs/display/pdfjava/Changing+Color+space+of+a+PDF+document
有任何建议或见解吗?
答案 0 :(得分:4)
您可以使用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
:for Perceptual 1
:for Colorimetric 2
:用于饱和度 3
:用于绝对色度意图。Ghostscript甚至支持为不同类型的PDF内容使用不同的配置文件:图形,文本和图像。见这里:
-sGraphicICCProfile=graphicprofile-filename
-sTextICCProfile=textprofile-filename
-sImageICCProfile=imageprofile-filename
与上面解释的通用选项-dRenderIntent
类似,您可以为不同的内容类型指定不同的意图:
-dGraphicIntent=intent
-dTextIntent=intent
-dImageIntent=intent
答案 1 :(得分:0)
我使用的是Adobe Acrobat Pro。进入工具,预检(可能在不同的位置,具体取决于您拥有的版本)。
在PDF修正部分中查找“转换为sRGB”。您可以手动运行此命令单个PDF以查看它是否适合您。如果是,请转到“选项”菜单并选择“创建预检Droplet”
您将获得有关如何处理成功和失败的选项,但是当您单击“保存”按钮时,您将获得Windows,Mac的实际EXE文件,您应该获得一个应用程序文件。这个文件你可以拖动文件,我认为文件夹只能直接到,它会运行那个动作,就像Photoshop一样。
答案 2 :(得分:0)
使用Adobe Acrobat Pro生成的预检可用于批处理。在我的情况下,我必须将专色转换为CMYK而不影响其他颜色,所以我在convert to CMYK only (SWOP)
PDF fixups section
保存预检后会生成.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,这个BATCH脚本首先开始转换最旧的文件。