افحص ملف ألوان PDF المضمن: CMYK أو RGB أو بلا ملف
تقرأ أداة فحص ملف ألوان PDF هذه كتلة XMP أو RDF مستخرجة، أو قاموس بيانات وصفية من PDF، ثم تحدد ما إذا كانت تعلن صراحة ملف CMYK أو ملف RGB أو عدم وجود ملف ألوان مضمن.
شغّل الأداة مجانًا
يفيد هذا التمييز قبل الطباعة التجارية، إذ قد يشير إعلان RGB إلى أن التحويل ما زال مطلوبا، بينما يوثق ملف إخراج CMYK المسمى حالة الطباعة المقصودة. الفحص حتمي، ولا يرسل ملف PDF إلى خدمة أخرى، كما يوضح قرينة البيانات الوصفية التي أدت إلى التصنيف.
ما الذي يثبته الفحص
قد يبدو ملف PDF صحيحا على الشاشة مع أنه يحمل معلومات لونية غير ملائمة أو ملتبسة لمسار الطباعة. يجيب هذا الفاحص عن سؤال محدد وقابل للتدقيق: هل تحدد كتلة البيانات الوصفية المقدمة صراحة ملف CMYK، أم ملف RGB، أم لا تتضمن أي إعلان معروف؟ يبحث الفاحص عن مصطلحات فضاءات اللون القياسية، وعائلات ملفات ICC الشائعة، وقيم وضع اللون في Photoshop التي تظهر ضمن XMP والبيانات الوصفية ذات الصلة. تتضمن النتيجة التصنيف، وقيمة منطقية تبين العثور على ملف من عدمه، ودليلا موجزا يصف الإعلان المطابق. إذا كانت كتلة البيانات الوصفية كاملة ولا تتضمن إعلانا ذا صلة، تكون النتيجة لا يوجد؛ وهي نتيجة صحيحة وليست خطأ. أما النص الذي لا يمثل كتلة XMP أو RDF كاملة ولا قاموس PDF مسلسلا فيرفض، لأن اعتبار البيانات الوصفية المفقودة دليلا على عدم وجود ملف سيخفي فشل الاستخراج. تحلل الأداة البيانات الوصفية فقط، ولا تصير الصفحات، ولا تفحص كل كائن صوري، ولا تفتح تدفق OutputIntent، ولا تثبت أن جميع عناصر الصفحة تستخدم الفضاء المعلن.
كيفية إعداد البيانات الوصفية وتفسيرها
قدموا كتلة البيانات الوصفية الكاملة المستخرجة من PDF، بما في ذلك غلاف XMP أو RDF، أو قدموا قاموس PDF كاملا محاطا بقوسي زاوية مزدوجين. حافظوا على أسماء الملفات وحقول فضاء اللون كما هي، لأنها تشكل الأدلة المستخدمة في التصنيف. قد تنتج نتيجة CMYK من إعلانات مثل DeviceCMYK، أو قيمة نموذج CMYK، أو وضع اللون 4 في Photoshop، أو عائلة معروفة من ملفات الطباعة مثل FOGRA أو SWOP أو GRACoL أو ISO Coated. وقد تنتج نتيجة RGB من DeviceRGB أو CalRGB أو sRGB أو Adobe RGB أو Display P3 أو ProPhoto RGB أو ECI RGB أو قيمة نموذج RGB أو وضع اللون 3 في Photoshop. إذا وردت العائلتان صراحة، يرفض الفاحص الإدخال بوصفه متعارضا بدلا من اختيار أول تطابق. افهموا لا يوجد بمعناه الحرفي: لم يعثر في الكتلة المقدمة على إعلان مدعوم لملف مضمن. لا يعني ذلك أن PDF بلا ألوان، ولا يضمن إخراجا مستقلا عن الجهاز؛ بل يعني أن البيانات الوصفية المتاحة لا تعلن ملفا يمكن تصنيفه.
استخدام النتيجة في مراجعة الجاهزية للطباعة
تعاملوا مع النتيجة كنقطة فحص مبكرة، لا كشهادة فحص تمهيدي كاملة. في الطباعة بالإزاحة أو الطباعة الرقمية، يكون إعلان ملف CMYK مؤشرا مفيدا غالبا لأنه يسجل حالة لونية موجهة للمطبعة، لكن الملف الصحيح يظل معتمدا على الطابعة والورق وحدود الحبر والمعيار الإقليمي. لا تعد نتيجة RGB عيبا تلقائيا؛ فقد تحتفظ مسارات PDF الحديثة بمحتوى RGB وتحوله عبر شرط إخراج مضبوط في معالج الصور النقطية. ومع ذلك، ينبغي لفريق الإنتاج تأكيد موضع التحويل وكيفيته. أما عدم وجود ملف فيستدعي قرارا موثقا. قد يعتمد المستند على لون الجهاز، أو أمر عمل منفصل، أو بيانات OutputIntent لم تشملها البيانات الوصفية المستخرجة. اجمعوا هذا الفحص مع مراجعة حجم الصفحة، وهوامش القص، وتضمين الخطوط، ودقة الصور، والشفافية، والطباعة الفوقية، والألوان الموضعية، وOutputIntent. عند الاستلام الآلي، احفظوا التصنيف والدليل مع المهمة، ووجهوا ملفات RGB أو الملفات غير المعرفة إلى المراجعة، واقصروا الرفض الآلي على القواعد المتفق عليها مع مزود الطباعة. عبر API، تبلغ تكلفة كل فحص للبيانات الوصفية $0.002.
حالات الاستخدام
فرز ملفات الطباعة الواردة
وجهوا ملفات PDF التي تعلن RGB أو لا تعلن ملفا إلى مراجعة ما قبل الطباعة قبل بدء الإنتاج.
توثيق امتثال المورد
سجلوا عائلة الألوان المعلنة والدليل المطابق مع كل ملف إعلاني أو ملف تغليف مقدم.
تشخيص الإخراج غير المتسق
قارنوا إعلانات البيانات الوصفية بين إصدارات PDF عندما تظهر البروفات والمطبوعات النهائية تغيرات لونية غير متوقعة.
الأسئلة الشائعة
هل تضمن نتيجة CMYK أن ملف PDF جاهز للطباعة؟
لا. تؤكد النتيجة وجود إعلان CMYK في البيانات الوصفية المقدمة، لكن الفحص التمهيدي الكامل يجب أن يراجع أيضا كائنات الصفحة وشروط الإخراج والخطوط وهوامش القص والدقة وغيرها.
لماذا تعيد كتلة بيانات وصفية صحيحة نتيجة لا يوجد؟
الكتلة موجودة بنيويا، لكنها لا تتضمن إعلانا مدعوما لملف CMYK أو RGB. يختلف ذلك عن غياب الكتلة، إذ يرفض الغياب باعتباره إدخالا غير صالح.
هل يكون ملف RGB خاطئا دائما للطباعة؟
لا. تحتفظ بعض المسارات المدارة ببيانات RGB عمدا حتى تحويل الإخراج. يرجى تأكيد سياسة التحويل وحالة الطباعة المستهدفة مع مزود الطباعة.
ماذا يحدث إذا ظهر إعلانا CMYK وRGB معا؟
يرفض الإدخال بوصفه متعارضا، لأن اختيار إعلان واحد سيخفي التباسا يجب حله أثناء الفحص التمهيدي.
هل يقرأ الفاحص ملف PDF كاملا؟
لا. يقبل كتلة XMP أو RDF أو قاموس بيانات وصفية مستخرجا من PDF. ولا يحلل محتوى الصفحات أو يفك تدفقات ICC المضمنة في وحدات بايت PDF.
ما تكلفة الفحص عبر API؟
تكلفة كل طلب هي $0.002. المعالجة حتمية ولا تستدعي أي خدمات خارجية.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/pdf/color-profile-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"metadata":"<x:xmpmeta xmlns:x=\"adobe:ns:meta/\"><rdf:RDF><rdf:Description photoshop:ICCProfile=\"U.S. Web Coated (SWOP) v2\" photoshop:ColorMode=\"4\"/></rdf:RDF></x:xmpmeta>"}'const res = await fetch("https://api.kit.forhosting.com/pdf/color-profile-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"metadata": "<x:xmpmeta xmlns:x=\"adobe:ns:meta/\"><rdf:RDF><rdf:Description photoshop:ICCProfile=\"U.S. Web Coated (SWOP) v2\" photoshop:ColorMode=\"4\"/></rdf:RDF></x:xmpmeta>"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/color-profile-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"metadata": "<x:xmpmeta xmlns:x=\"adobe:ns:meta/\"><rdf:RDF><rdf:Description photoshop:ICCProfile=\"U.S. Web Coated (SWOP) v2\" photoshop:ColorMode=\"4\"/></rdf:RDF></x:xmpmeta>"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/color-profile-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"metadata":"<x:xmpmeta xmlns:x=\\"adobe:ns:meta/\\"><rdf:RDF><rdf:Description photoshop:ICCProfile=\\"U.S. Web Coated (SWOP) v2\\" photoshop:ColorMode=\\"4\\"/></rdf:RDF></x:xmpmeta>"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"metadata":"<x:xmpmeta xmlns:x=\"adobe:ns:meta/\"><rdf:RDF><rdf:Description photoshop:ICCProfile=\"U.S. Web Coated (SWOP) v2\" photoshop:ColorMode=\"4\"/></rdf:RDF></x:xmpmeta>"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/color-profile-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"metadata": "<x:xmpmeta xmlns:x=\"adobe:ns:meta/\"><rdf:RDF><rdf:Description photoshop:ICCProfile=\"U.S. Web Coated (SWOP) v2\" photoshop:ColorMode=\"4\"/></rdf:RDF></x:xmpmeta>"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.color_profile_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 250000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |