Script (o altri mezzi) per convertire RGB a CMYK in PDF?
-
26-09-2019 - |
Domanda
E 'possibile scrivere uno script per Adobe Illustrator o qualche altro strumento che leggerà il contenuto di un certo numero di file PDF e convertire tutti i colori RGB a CMYK?
Se è così, potrebbe qualcuno si prega di indicare alcuni dei passi necessari, o dove trovare ulteriori informazioni su questo?
Soluzione
Questa risposta non è per Illustrator, ma per 'qualche altro strumento' , vale a dire Ghostscript (download gs871w32.exe
o gs871w64.exe
).
Ghostscript permette di file PDF 'ri-Distill' ( senza una conversione intermedia a PostScript, la temuta 'refrying' deviazione). Provate questo comando:
gswin32c.exe ^
-o c:/path/to/output-cmyk.pdf ^
-sDEVICE=pdfwrite ^
-dUseCIEColor ^
-sProcessColorModel=DeviceCMYK ^
-sColorConversionStrategy=CMYK ^
-sColorConversionStrategyForImages=CMYK ^
input-rgb.pdf
E se si è in grado di attendere un paio di settimane, Ghostscript 9.00 sarà rilasciato. Questa nuova versione sarà lo sport il supporto della gestione digitale del colore (sulla base di LCMS) con i profili ICC per la prima volta in assoluto ...
UPDATE:. Ho aggiornato sopra il comando perché ho perso a mettere nella possibilità di convertire anche le immagini
Update 2
Se la conversione del colore non funziona, se lo desideri, e se viene visualizzato un messaggio come "Impossibile convertire lo spazio di colore al grigio, tornando strategia per LeaveColorUnchanged" , allora ...
- il tuo Ghostscript è probabilmente una più recente versione del Serie versione 9.x e
- la vostra fonte PDF probabilmente utilizza un incorporato profilo colore ICC
In questo caso metti -dOverrideICC
alla riga di comando e vedere se cambia il risultato come desiderato.
Altri suggerimenti
ABCpdf sarà ricolorare in CMYK o qualsiasi altro spazio colore o il profilo che si può pensare. Vedi:
ho scritto e testato il seguente script in 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);
}
}
Questo script chiederà una cartella, in modo da selezionare la cartella che avere il vostro file PDF in. Sarà convertire tutti i file PDF nella cartella selezionata in CMYK.
Su Linux Mint / Ubuntu, ho provato che ( da questo ) utilizzando profili ICC (Ghostscript 9.18, che non mi piace "-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
E ' "sembra" per il lavoro (-r2400 è utile, è per la risoluzione, può essere modificata o rimossa).
Forse aggiungendo " -sDefaultRGBProfile = / usr / share / colore / ICC / colord / sRGB.icc " potrebbe essere meglio per l'ingresso ... non so (e io don' so dove). Forse un esperto potrebbe spiegare il modo migliore per l'uso.
Grazie. Saluti,