البرنامج النصي (أو بعض الوسائل الأخرى) لتحويل RGB إلى CMYK في PDF؟

StackOverflow https://stackoverflow.com/questions/3418268

سؤال

هل من الممكن كتابة برنامج نصي لـ Adobe Illustrator أو بعض الأدوات الأخرى التي ستقرأ محتويات عدد من ملفات PDF وتحويل جميع ألوان RGB إلى CMYK؟

إذا كان الأمر كذلك ، فهل يمكن لشخص ما الإشارة إلى بعض الخطوات المعنية ، أو أين يمكن العثور على مزيد من المعلومات حول هذا؟

هل كانت مفيدة؟

المحلول

هذه الإجابة ليست للرسام ، ولكن ل "بعض الأدوات الأخرى", ، يسمى Ghostscript (تحميل gs871w32.exe أو gs871w64.exe).

يتيح لك Ghostscript "إعادة صياغة" ملفات PDF (بدون تحويل وسيطة إلى postscript ، "إعادة البشر" اللعين). جرب هذا الأمر:

gswin32c.exe ^
    -o c:/path/to/output-cmyk.pdf ^
    -sDEVICE=pdfwrite ^
    -dUseCIEColor ^
    -sProcessColorModel=DeviceCMYK ^
    -sColorConversionStrategy=CMYK ^
    -sColorConversionStrategyForImages=CMYK ^
     input-rgb.pdf

وإذا كنت قادرًا على الانتظار لبضعة أسابيع أخرى ، فسيتم إصدار Ghostscript 9.00. سيؤدي هذا الإصدار الجديد إلى دعم ColorManagement (استنادًا إلى LCMS) مع ملفات تعريف ICC لأول مرة على الإطلاق ...

تحديث: لقد قمت بتحديث الأمر أعلاه لأنني فاتني وضع خيار تحويل الصور أيضًا.


تحديث 2

إذا كان تحويل الألوان لا يعمل على النحو المطلوب ، وإذا رأيت رسالة مثل "غير قادر على تحويل مساحة الألوان إلى رمادي ، والعودة إلى استراتيجية إلى LeaveColorunchanged" من ثم...

  1. ربما يكون Ghostscript الخاص بك إصدارًا جديدًا من سلسلة الإصدار 9.x, ، و
  2. من المحتمل أن يستخدم المصدر PDF جهازًا مضمنًا ملف ICC Color Profile

في هذه الحالة أضف -dOverrideICC إلى سطر الأوامر ومعرفة ما إذا كان يغير النتيجة كما هو مطلوب.

نصائح أخرى

ستقوم ABCPDF بإعادة تلبية CMYK أو أي مساحة ألوان أو ملف تعريف آخر يمكنك التفكير فيه. يرى:

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

لقد كتبت واختبرت البرنامج النصي التالي في 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);
    }
}

سيطلب هذا البرنامج النصي مجلد ، لذا حدد المجلد الذي يحتوي على ملف PDF الخاص بك. وسيقوم بتحويل جميع ملفات PDF في المجلد المحدد إلى CMYK.

على Linux Mint / Ubuntu ، لقد جربت ذلك (من هذا) باستخدام ملفات تعريف ICC (Ghostscript 9.18 ، والتي لا تحب "-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

"يبدو" أن يعمل (-R2400 مفيد ؛ إنه للقرار ، يمكن تغييره أو إزالته).

ربما تضيف "-sdefaultrgbprofile =/usr/share/color/ICC/colord/srgb.icc"يمكن أن يكون أفضل للمدخلات ... لا أعرف (ولا أعرف أين). ربما يمكن للخبير أن يفسر أفضل طريقة للاستخدام.

شكرًا. يعتبر،

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top