Script (ou alguns outros meios) para converter RGB em CMYK em PDF?
-
26-09-2019 - |
Pergunta
É possível escrever um script para o Adobe Illustrator ou alguma outra ferramenta que leia o conteúdo de vários arquivos PDF e converta todas as cores RGB em CMYK?
Nesse caso, alguém poderia apontar algumas das etapas envolvidas ou onde encontrar mais informações sobre isso?
Solução
Esta resposta não é para ilustrador, mas para 'alguma outra ferramenta', a saber GhostScript (download gs871w32.exe
ou gs871w64.exe
).
GhostScript permite que você 're-diville' pdfs (sem Uma conversão intermediária em PostScript, o temido desvio de 'refrying'). Experimente este comando:
gswin32c.exe ^
-o c:/path/to/output-cmyk.pdf ^
-sDEVICE=pdfwrite ^
-dUseCIEColor ^
-sProcessColorModel=DeviceCMYK ^
-sColorConversionStrategy=CMYK ^
-sColorConversionStrategyForImages=CMYK ^
input-rgb.pdf
E se você puder esperar mais algumas semanas, o Ghostscript 9.00 será lançado. Esta nova versão exibirá o suporte do Colormanagement (com base no LCMS) com perfis da ICC pela primeira vez ...
ATUALIZAR: Atualizei o comando acima porque perdi a opção de converter também imagens.
Atualização 2
Se a conversão de cores não funcionar como desejado e se você vir uma mensagem como "Incapaz de converter espaço de cores em cinza, estratégia revertindo para Leavecolorunchanged" então...
- Seu GhostScript provavelmente é um lançamento mais recente do 9.x versão de versão, e
- Seu PDF de origem provavelmente usa um incorporado Perfil de cor da ICC
Neste caso, adicione -dOverrideICC
para a linha de comando e veja se ela altera o resultado conforme desejado.
Outras dicas
O ABCPDF recolorá -lo ao CMYK ou qualquer outro espaço ou perfil de cores que você possa imaginar. Ver:
Escrevi e testei o seguinte script no Illustrator CC 2017:
var folder = Folder.selectDialog();
if (folder) {
var files = folder.getFiles("*.pdf")
for (var i = 0; i < files.length; i++) {
app.open(files[i]);
var doc = app.activeDocument;
app.executeMenuCommand('doc-color-cmyk');
doc.close(SaveOptions.SAVECHANGES);
}
}
Esse script solicitará uma pasta; portanto, selecione a pasta que possui seu arquivo PDF. Ele converterá todos os arquivos PDF na pasta selecionada no CMYK.
No Linux Mint / Ubuntu, eu tentei isso (a partir disso) Usando perfis ICC (GhostScript 9.18, que não gostam de "-DuseCiecolor"):
gs -o output.pdf -sDEVICE=pdfwrite -r2400 -dOverrideICC=true -sOutputICCProfile=/usr/share/color/icc/Fogra27L.icm -sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK -dRenderIntent=3 -dDeviceGrayToK=true input.pdf
"Parece" funcionar (-r2400 é útil; é para a resolução, pode ser alterado ou removido).
Talvez adicionando "-sdefaultrgbProfile =/usr/share/color/icc/colord/srgb.icc"Pode ser melhor para a contribuição ... eu não sei (e não sei onde). Talvez um especialista possa explicar a melhor maneira de usar.
Obrigado. Cumprimentos,