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?

Foi útil?

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...

  1. Seu GhostScript provavelmente é um lançamento mais recente do 9.x versão de versão, e
  2. 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:

http://www.websupergoo.com/helppdf7net/source/8-abcpdf6.operations/3-recoloropeation/1-methods/recolor.htm

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,

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top