CheckFileCompliance
التوافق، فحص المستندات
اختيار ملف تعريف قارئ PDF/UA
تختار فحوص PDF/UA الجزء 2 حين يُعرّف XMP القيمة pdfuaid:part=2 وتحتفظ في غير ذلك بفحوص الجزء 1؛ ولا يُفهم من وصف فحوص PDF/UA-1 القديمة هنا أنها تنطبق على الجزء 2
ينفذ ملف تعريف PDF/UA-2 فحوص التعريف ومساحات الأسماء والأدوار والبنية الأساسية؛ وتستخدم التقارير المهيكلة PDF/UA-2 وISO 14289-2 وتفصح عن fullCertification=false وعن النطاق غير الموثَّق
استخدم CheckFilePDFUACompliance أو RunPDFUAValidationPipelineTask لفرض جزء هدف، وGetPDFUAReadValidationCoverageJSON لفحص حدود القدرات
الوصف
يقرأ ملف PDF خارجيًا ويتحقق منه مقابل معيار توافق ISO مختار. القيمة المعادة إما صفر (الملف يجتاز الاختبار المختار بنظافة تامة) أو مقبض StringListID غير صفري يسرد كل مشكلة مكتشفة. كل مُدخل في القائمة هو رمز قصير ونقطتان ورسالة مفهومة للإنسان — وهي صيغة الرمز نفسها المستخدمة تمامًا في GetPDFUADiagnostics. عدّد النتيجة عبر GetStringListCount و GetStringListItemيغطي اختبار PDF/A جميع أوضاع المطابقة الستة (PDF/A-1a و PDF/A-1b و PDF/A-2a و PDF/A-2b و PDF/A-3a و PDF/A-3b) ويقرأ مُدخلَي XMP
pdfaid:part/pdfaid:conformance ليقرر مجموعة القواعد التي سيطبقهايتحقق اختبار PDF/UA-1 (المضاف في v3.56.0) من ملف PDF خارجي مقابل ISO 14289-1 ويصدر رموز تشخيص في المدى
10xxx كي تبقى منفصلة بصريًا عن رموز PDF/A 00xxx
الصيغة
Delphi
Function TPDFlib.CheckFileCompliance(Const InputFileName, Password: WideString; ComplianceTest, Options: Integer): Integer;
ActiveX
Function PDFlib::CheckFileCompliance(InputFileName As String, Password As String, ComplianceTest As Long, Options As Long) As Long
DLL
int DLCheckFileCompliance(int InstanceID, const wchar_t * InputFileName, const wchar_t * Password, int ComplianceTest, int Options);
المعاملات
| InputFileName | المسار الكامل لملف PDF المراد التحقق منه. يُفتح الملف للقراءة فقط ولا يُعدَّل |
|---|---|
| Password | كلمة المرور المستخدمة لفتح الملف. مرّر سلسلة فارغة للمستندات غير المشفرة. لاحظ أن المستند المشفر يرسب في اختبار PDF/A (الرمز 00006) بغض النظر عن إمداد كلمة المرور الصحيحة — فـ PDF/A يحظر التشفير |
| ComplianceTest | المعيار المراد التحقق منه. 1 — PDF/A (ISO 19005-1/-2/-3، جميع مستويات المطابقة الستة). 2 — PDF/UA-1 (ISO 14289-1:2014، PDF يمكن الوصول إليه). 3 — PDF/X (ISO 15930، بما في ذلك عائلة PDF/X-6). 4 — PDF/VT-3 (ISO 16612-3:2020 فوق أساس من عائلة PDF/X-6). 5 — PDF/R-1 تبادل صور نقطية مقيد. 6 — PDF/VCR-1 قوالب استبدال محتوى متغير. 7 — PDF/E-1 تبادل مستندات هندسية |
| Options | أعلام بت تعدل الاختبار. 0 — الافتراضي: عرض كل مشكلة توجد في المستند. 1 — التوقف بعد أول مشكلة والعودة فورًا. مفيد عندما يحتاج المستدعي إلى إشارة نجاح/فشل فقط |
قيم الإرجاع
| 0 | الملف مطابق للمعيار المختار |
|---|---|
| Non-zero | مقبض StringListID تصف مُدخلاته كل حالة عدم مطابقة مكتشفة. يبقى المقبض صالحًا حتى إغلاق المستند أو استدعاء ReleaseStringList |
رموز مشكلات PDF/A (ComplianceTest = 1)
| 00002 | إصدار PDF يتجاوز الحد الأقصى المسموح به لمستوى المطابقة (PDF/A-1 يقصر عند 1.4؛ و PDF/A-2 و PDF/A-3 يقصران عند 1.7). سطر التفاصيل يسمّي الإصدار المخالف والحد الأقصى المسموح |
|---|---|
| 00003 | يحتوي الكتالوج على /OCProperties (محتوى اختياري / طبقات)، وهو محظور في PDF/A-1. يسمح PDF/A-2 و PDF/A-3 بالطبقات ولا يستوجبان هذا الفحص |
| 00005 | ثنائية XMP pdfaid:part+pdfaid:conformance مفقودة أو مشوهة أو تتضمن قيمة خارج المجموعة القانونية 1A و 1B و 2A و 2B و 3A و 3B. لا تستطيع المكتبة تحديد مجموعة القواعد التي ستطبقها، لذا يُعرض هذا بوصفه مشكلة قاتلة بغض النظر عن Options |
| 00006 | المستند مشفر. يحظر PDF/A التشفير في كل جزء |
| 00007 | ليس للكتالوج مُدخل /OutputIntents. تتطلب كل أجزاء PDF/A هدف إخراج كي يكون فضاء ألوان العرض معرفًا بلا لبس |
| 00011 | ليس للكتالوج مُدخل /MarkInfo. مطلوب فقط لمطابقة مستوى a (PDF/A-1a، 2a، 3a) — يجب أن يعلن PDF المعلَّم عن نفسه |
| 00012 | ليس للكتالوج مُدخل /StructTreeRoot. مطلوب فقط لمطابقة مستوى a. يجب أن يمتلك مستند PDF المعلَّم شجرة بنية منطقية |
رموز مشكلات PDF/UA-1 (ComplianceTest = 2)
| 10001 | لا يحتوي تدفق بيانات XMP الوصفية على pdfuaid:part أو أن القيمة ليست 1. يتطلب ISO 14289-1 §5 من الملف المطابق أن يعرّف عن نفسه عبر هذه الخاصية؛ ويحظر ISO 14289-1 §6.2 الادعاء بالمطابقة دونها |
|---|---|
| 10002 | ليس لكتالوج المستند تدفق /Metadata. يُسجَّل ادعاء مطابقة PDF/UA-1 داخل هذا التدفق؛ ومن دونه لا يستطيع الملف الإعلان عن أنه يمكن الوصول إليه |
| 10003 | قاموس /MarkInfo في الكتالوج مفقود أو أن /Marked ليست true. يتطلب ISO 14289-1 §7.1 من كل ملف مطابق أن يعلن عن أنه معلَّم كي تعتمد تقنيات المساعدة على شجرة البنية |
| 10004 | ليس للكتالوج مُدخل /StructTreeRoot. يجب أن يتضمن ملف PDF/UA-1 شجرة بنية منطقية تصف ترتيب القراءة ودلالات المستند |
| 10005 | قاموس /ViewerPreferences مفقود أو أن مُدخل /DisplayDocTitle فيه ليس true. يتطلب ISO 14289-1 §7.1 من القراء المطابقين إبراز عنوان المستند في واجهة نافذتهم بدل اسم الملف |
| 10006 | مُدخل /Lang في الكتالوج مفقود أو فارغ. يتطلب ISO 14289-1 §7.2 (بالإحالة إلى ISO 32000-1 §14.9.2) من كل ملف مطابق أن يعلن لغته الطبيعية كي تختار قارئات الشاشة الصوت وقواعد النطق الصحيحة |
| 10007 | لا يحمل تدفق بيانات XMP الوصفية dc:title غير فارغ من Dublin Core. يتطلب ISO 14289-1 §7.1 «مُدخل dc:title يحدد المستند تحديدًا واضحًا» |
| 10008 | قاموس /MarkInfo لديه /Suspects مضبوطة على true. وفق ISO 14289-1 §7.1: الملفات التي تدّعي مطابقة PDF/UA يجب أن تكون قيمة Suspects فيها false — والقيمة true تعني أن التعليم معروف بأنه يتضمن أخطاء |
| 10009 | يعيد /RoleMap للمستند تعيين نوع أو أكثر من أنواع البنية القياسية. وفق ISO 14289-1 §7.1: الوسوم القياسية المعرفة في ISO 32000-1 §14.8.4 (P و H1..H6 و Figure و Table وهكذا) لا يجوز إعادة تعيينها. سطر التفاصيل يسمّي أول وسم قياسي أُعيد تعيينه |
| 10010 | الملف مشفر لكن البت 10 من مفتاح الأذونات /P للتشفير (القناع 512، "Extract for accessibility") غير مضبوط. يتطلب ISO 14289-1 §7.16 من كل ملف مطابق مشفر أن يسمح باستخراج إمكانية الوصول كي تصل تقنيات المساعدة إلى المحتوى |
| 10011 | اكتُشف نموذج XFA ديناميكي: تحتوي حزمة XFA XDP على <dynamicRender>required</dynamicRender>. يحظر ISO 14289-1 §7.15 نماذج XFA الديناميكية في الملفات المطابقة؛ ويُسمح بـ XFA الساكن |
| 10012 | اكتُشف Reference XObject (Form XObject يحمل مُدخل /Ref). يحظر ISO 14289-1 §7.20 مراجع XObjects لأنها تتيح لـ PDF واحد تضمين آخر بالمرجع دون كشف المحتوى المشار إليه لتقنيات المساعدة |
| 10013 | اكتُشف تعليق توضيحي TrapNet واحد أو أكثر. يحظر ISO 14289-1 §7.18.2 صراحةً TrapNet في الملفات المطابقة. سطر التفاصيل يعرض عدد التعليقات التوضيحية الموجودة |
| 10014 | تحمل صفحة واحدة أو أكثر تعليقات توضيحية لكنها لا تضبط /Tabs /S في قاموس صفحتها. يتطلب ISO 14289-1 §7.18.3 أن يتبع ترتيب الجدولة في هذه الصفحات شجرة البنية، ويُشار إلى ذلك بـ /Tabs /S. سطر التفاصيل يعرض عدد الصفحات المخالفة |
| 10015 | ينقص تعليق Link واحدًا أو أكثر وصف بديل غير فارغ في /Contents. يتطلب ISO 14289-1 §7.18.5 من كل تعليق Link أن يحمل وصفًا يمكن الوصول إليه كي تعلن قارئات الشاشة هدف الرابط. سطر التفاصيل يعرض عدد تعليقات Link المخالفة |
| 10016 | ينقص قاموس FileSpec واحدًا أو أكثر للملفات المضمنة مفتاح اسم الملف /F. يتطلب ISO 14289-1 §7.11 من كل FileSpec لملف مضمن أن يحمل /F و /UF معًا |
| 10017 | ينقص قاموس FileSpec واحدًا أو أكثر للملفات المضمنة مفتاح اسم الملف Unicode /UF. يتطلب ISO 14289-1 §7.11 من كل FileSpec لملف مضمن أن يحمل /F و /UF معًا |
| 10018 | ينقص قاموس تكوين محتوى اختياري واحدًا أو أكثر سلسلة نصية /Name غير فارغة. يتطلب ISO 14289-1 §7.10 من كل قاموس تكوين OCG (مُدخل D الافتراضي إضافة إلى كل قاموس في OCProperties/Configs) أن يحمل /Name غير فارغة |
| 10019 | يحتوي قاموس تكوين محتوى اختياري واحد أو أكثر على مفتاح /AS المحظور. يحظر ISO 14289-1 §7.10 صراحةً /AS في أي قاموس تكوين OCG لمنع تعديلات الحالة التلقائية المدفوعة بمعلومات الاستخدام |
| 10020 | خطوط واحدة أو أكثر غير تابعة للـ Standard-14 مشار إليها في المستند لا تضمّن برنامج خطها (لا مُدخل FontFile أو FontFile2 أو FontFile3 على FontDescriptor). يتطلب ISO 14289-1 §7.21.4.1 من كل خط مستخدم للعرض أن يضمّن برنامجه. تُستثنى خطوط Type 3 من هذا الفحص لأن محارفها CharProcs داخلية |
| 10021 | ينقص ذرية CIDFontType2 واحدة أو أكثر مُدخل /CIDToGIDMap. يتطلب ISO 14289-1 §7.21.3.2 من كل CIDFont من النوع 2 مضمن أن يحمل /CIDToGIDMap (إما تدفقًا يخلط CIDs بمؤشرات المحارف، أو بالاسم Identity) |
| 10022 | خطوط Standard 14 واحد أو أكثر (Helvetica و Times و Courier و Symbol و ZapfDingbats ونسخها الغامقة / المائلة) مشار إليها دون برنامج خط مضمن. يوضح ISO 14289-1 §7.21.4 NOTE 5 أنه لا إعفاء من التضمين لخطوط Type 1 القياسية الـ 14 |
| 10023 | ينقص خطًا واحدًا أو أكثر خريطة CMap /ToUnicode ولا يطابق قائمة الإعفاءات في §7.21.7. تغطي قائمة الإعفاءات الترميزات المعرفة مسبقًا MacRomanEncoding / MacExpertEncoding / WinAnsiEncoding، وخطوط Type 0 التي تستخدم ذريتها CIDFont مجموعات محارف Adobe GB1 / CNS1 / Japan1 / Korea1، وخطوط TrueType غير الرمزية |
| 10024 | أول عنصر عنوان في ترتيب المستند ليس H1 (أو الوسم H شديد البنية). وفق ISO 14289-1 §7.4.2: «إذا استُخدمت وسوم عناوين فليكن H1 أولها» |
| 10025 | اكتُشف تخطٍّ لمستوى عنوان واحد أو أكثر في ترتيب المستند — مثل H1 يليه فورًا H3 متخطيًا H2. يتطلب ISO 14289-1 §7.4.2 أن تتدرج تسلسلات العناوين الهابطة بترتيب رقمي صارم دون تخطي المستويات البينية |
| 10026 | ينقص تعليق Widget واحدًا أو أكثر مُدخل /StructParent. يتطلب ISO 14289-1 §7.18.4 أن تُدرَج تعليقات Widget داخل وسم بنية Form؛ ومن دون /StructParent يستحيل الوصول إلى الـ Widget من شجرة البنية. سطر التفاصيل يعرض العدد |
| 10027 | لدى تعليق Widget واحد أو أكثر مُدخل /StructParent لكن القيمة لا تحل عبر StructTreeRoot/ParentTree إلى عنصر بنية ذي /S = Form. يتطلب ISO 14289-1 §7.18.4 أن يُدرَج كل تعليق Widget داخل وسم بنية Form. أسباب محتملة: مُدخل /ParentTree مفقود كليًا، أو يشير إلى غير StructElem (عدد صحيح خام / قاموس MCR)، أو يسمّي وسمًا غير Form |
| 10028 | لدى خطوط TrueType غير رمزية واحد أو أكثر /Encoding (أو /BaseEncoding لقاموس الترميز) ليست MacRomanEncoding ولا WinAnsiEncoding. يقصر ISO 14289-1 §7.21.6 ترميز TrueType غير الرمزي على هذين الاسمين المعرفين مسبقًا |
| 10029 | تحمل خطوط TrueType رمزية واحدة أو أكثر مُدخل /Encoding في قاموس الخط. يحظر ذلك الفقرة الرابعة من ISO 14289-1 §7.21.6 — يجب التعبير عن ترميز TrueType الرمزي عبر جدول cmap في برنامج الخط المضمّن فقط |
| 10030 | ينقص عناصر بنية L (قائمة) واحدةً أو أكثر خاصية ListNumbering. يتطلب ISO 14289-1 §7.6 من كل وسم L أن يعلن أسلوب ترقيمه عبر هذه الخاصية. القيم الصالحة هي None و Disc و Circle و Square و Decimal و UpperRoman و LowerRoman و UpperAlpha و LowerAlpha (ISO 32000-1 Table 347) |
| 10031 | يحمل تعليق Link واحدًا أو أكثر قاموس إجراء URI /IsMap فيه true. يحظر ISO 14289-1 §7.18.5 /IsMap = true على إجراء URI ما لم تُوفر وظيفة مكافئة في مكان آخر من المحتوى دون مفتاح /IsMap. على المؤلفين ذوي حالة استخدام IsMap المشروعة كبح هذا التشخيص بأنفسهم |
| 10032 | ينقص عناصر بنية Note واحدةً أو أكثر مُدخل /ID. يتطلب ISO 14289-1 §7.9 من كل وسم Note أن يعلن /ID فريدًا كي تستقر المراجع المتقاطعة على هدف ثابت |
| 10033 | يتشارك عنصرَا بنية Note أو أكثر قيمة /ID نفسها. سطر التفاصيل يعرض عدد الأزواج المكررة المكتشفة. يتطلب ISO 14289-1 §7.9 أن تكون معرفات Note فريدة داخل المستند |
| 10034 | تضمّن برامج TrueType غير رمزية واحدة أو أكثر (FontDescriptor بعلم Symbolic ممسوح وتدفق FontFile2 موجود) جدول cmap الذي جدوله الوحيد هو المُدخل الرمزي (3,0) الخاص بـ Microsoft. يتطلب الفقرة الأولى من ISO 14289-1 §7.21.6 جدولًا فرعيًا واحدًا على الأقل غير رمزي كي يعرض البرنامج نقاط الترميز المعلنة في /Encoding |
| 10035 | تعلن خطوط TrueType غير رمزية واحدة أو أكثر /Encoding بمصفوفة /Differences تتضمن أسماء محارف ليست من Adobe Glyph List 2.0. أما .notdef فهي في القائمة البيضاء لأن المواصفة تسمح بها ضمنيًا. تتطلب الفقرة الثالثة من ISO 14289-1 §7.21.6 أن يقع كل مُدخل Differences في AGL |
| 10036 | تخالف عروض خط TrueType بسيط واحد أو أكثر المقاييس المقابلة في برنامج الخط المضمّن بأكثر من جزء من ألف من em. يتطلب ISO 14289-1 §7.21.5 أن توافق مصفوفة /Widths مقاييس المحارف المضمنة |
| 10037 | تخالف عروض CIDFontType2 واحدة أو أكثر المقاييس المقابلة في برنامج TrueType المضمّن بأكثر من جزء من ألف من em. يتطلب ISO 14289-1 §7.21.5 أن توافق مصفوفة /W مقاييس المحارف المضمنة |
| 10038 | يغفل وصف خط Type 1 /CharSet اسم محرف واحدًا أو أكثر موجودًا في برنامج خطه المضمّن. يتطلب ISO 14289-1 §7.21.4.2 أن يسرد المُدخل كل محرف مضمن |
| 10039 | يغفل وصف خط CID /CIDSet CID واحدًا أو أكثر يقابل محارف في برنامج خطه المضمّن. يتطلب ISO 14289-1 §7.21.4.2 أن تحدد المجموعة البتية كل CID مضمن |
| 10040 | يُستدعى Form XObject يحتوي نصًا من محتوى صفحة خارج المحتوى المعلَّم. يتطلب ISO 14289-1 §7.20 إدماج محتوى Form XObject في عناصر البنية |
| 10041 | تُحل معاملات عرض نص واحدة أو أكثر إلى محرف .notdef. يحظر ISO 14289-1 §7.21.8 الإشارة إلى .notdef بغض النظر عن وضع عرض النص |
| 10042 | ينقص قواميس بيانات مقطع وسائط واحدةً أو أكثر (المعرفة بـ /S /MCD، واختياريًا /Type /MediaClip) مُدخل نوع المحتوى /CT المطلوب. يرقّي ISO 14289-1 §7.18.6 هذا المفتاح الاختياري من ISO 32000-1 Table 274 إلى مطلوب |
| 10043 | ينقص قواميس بيانات مقطع وسائط واحدةً أو أكثر مصفوفة /Alt المطلوبة (أزواج سلسلة لغة + نص بديل). يرقّي ISO 14289-1 §7.18.6 هذا المفتاح الاختياري من ISO 32000-1 Table 274 إلى مطلوب كي تعلن تقنيات المساعدة وصفًا للوسائط المتعددة المضمنة |
| 10044 | تحمل عقد شجرة بنية واحدة أو أكثر ابن H (عنوان عام) مباشرًا واحدًا أكثر من واحد. يحظر ISO 14289-1 §7.4.4 ذلك صراحةً — قسّم المقطع أو استبدل وسوم H بمستويات H1..H6 مرقمة |
ملاحظات
يهدف اختبار PDF/A بوصفه فحصًا ذاتيًا سريعًا قبل التسليم. يلتقط مشكلات مستوى المستند التي تُسقط الملف فورًا (إصدار PDF خاطئ، غياب OutputIntent، غياب شجرة البنية عند المستوى A، التشفير، الطبقات في PDF/A-1). وهو لا يمر على كل عامل في تدفقات المحتوى ولا يتحقق من تضمين الخطوط أو مراجع فضاءات الألوان لكل كائن مرسوم — تلك التحققات تتطلب مدقق PDF/A مخصصًا (مثل veraPDF). استخدم هذه الدالة بوصفها فحصًا من الخط الأول وبوابة انحدار في خطوط البناء. استخدم CreatePreflightReport أو SavePreflightReport عندما تريد من المكتبة تنسيق قوائم المشكلات في تقرير نصي قابل لإعادة الاستخدام. واستخدم CreatePreflightReportEx أو SavePreflightReportEx لإخراج تقرير بنص أو JSON أو HTML أو CSV، أو انظر Preflight Reports لسير عمل التقارير الكاملتجري واجهة API المصاحبة
GetPDFUADiagnostics فحوصات مماثلة لـ PDF/UA (ISO 14289-1) على المستند في الذاكرة قيد البناء حاليًا، بدلًا من ملف خارجيعند إنتاج إخراج PDF/A بهذه المكتبة استدعِ
SetPDFAMode قبل إضافة أي محتوى. يحجب الحارس في جانب التوليد داخل SetPDFAMode العمليات المحظورة من الجزء المختار، لذا فإن المستند المبني بهذه الطريقة يجتاز عادةً CheckFileCompliance تلقائيًا
مثال
// Validate a delivered PDF/A file and print all issues
var
Issues, Count, I: Integer;
begin
Issues := PDF.CheckFileCompliance('archive.pdf', '', 1, 0);
if Issues = 0 then
WriteLn('archive.pdf: PDF/A conformant')
else
begin
Count := PDF.GetStringListCount(Issues);
WriteLn('archive.pdf: ', Count, ' PDF/A issue(s) detected:');
for I := 1 to Count do
WriteLn(' ', PDF.GetStringListItem(Issues, I));
end;
end;
// Fast pass/fail gate in a CI pipeline — stop on the first issue
var
Failed: Boolean;
begin
Failed := PDF.CheckFileCompliance('build/output.pdf', '', 1, 1) <> 0;
if Failed then
Halt(1);
end;انظر أيضًا
Preflight Reports, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, SetPDFAMode, GetPDFUADiagnostics, GetStringListCount, GetStringListItem, SetPDFUAMode
فحص الامتثال 3 يراجع PDF/X (ISO 15930): تعريف الإصدار ونية الإخراج وهندسة الصفحة والخطوط المضمنة ومجموعة الميزات المحظورة؛ ولـ PDF/X-6 يتحقق أيضًا من أعلام التعليقات والمظاهر الثابتة ومظاهر AcroForm والتوقيع واستثناءات XFA ومظاهر مولدة من العارض وموضع الإجراءات وسلاسلها ومجموعة الإجراءات المسمية المسموح بها وكل قيمة UseBlackPtComp
فحص الامتثال 4 يراجع بيانات تعريف تعريف PDF/VT-3 وأساسه من عائلة PDF/X-6 وشجرة DPartRoot وDPart وأسماء DPM وقيمها ومستوى السجل وترتيب الصفحات وتغطية الأوراق الدقيقة؛ وتتشارك فحوص التأليف تمريرة محلل واحدة
فحص الامتثال 5 يراجع موضع وسم PDF/R-1 والإصدار والتشفير وكائنات غير مباشرة من الجيل صفر والقواميس والمرشحات المقيدة وبرامج صفحات أحادية التدفق وشرائح نقطية مرتبة وترميزات الصور وتغطية الصفحة والدقة الفعلية؛ ويمكنه إعادة استخدام تحليل خط تحقق مشترك
فحص الامتثال 6 يراجع أساس PDF/X وتعريف XMP لـ PDF/VCR-1 والجذر القالب المباشر المفرد والحقول المعلنة وحقل اختيار الصفحات الاختياري وكل موضع نائب إحلال PassThrough في الأوراق وربط الصفحات وMCID ومربع الإحاطة؛ ويمكنه إعادة استخدام تحليل خط تحقق مشترك
فحص الامتثال 7 يراجع تعريف PDF/E-1 وبيانات تعريف دورة الحياة ومعرفات trailer والتشفير المسموح ونوايا الإخراج وفضاءات ألوان الأجهزة ومعاملات المحتوى والخطوط والتعليقات والنماذج والمحتوى الاختياري والإجراءات ومراجع الملفات الخارجية وحالات الرسومات وقيود تدفقات 3D؛ ويمكنه إعادة استخدام تحليل خط تحقق مشترك