SetPDFAMode
خصائص المستند، الامتثال
الوصف
يفعّل وضع امتثال PDF/A للمستند المحدد. يجري الاستدعاء الواحد كل الإعداد على مستوى المستند الذي يتطلبه جزء ومستوى الامتثال المختارَان لـ PDF/A: يُرفع إصدار PDF إلى الحد الأدنى المطلوب، ويُكتب مدخل /MarkInfo عند اختيار مستوى الامتثال الموسوم (A)، وتُضاف نية إخراج (ملف تعريف ICC sRGB لـ DeviceRGB) إلى الكتالوج، وتُكتب مدخلا نطاقي أسماء XMP pdfaid:part/pdfaid:conformance. كما تفعّل المكتبة حارس امتثال جانب التوليد الذي يرفض الاستدعاءات اللاحقة التي ستصدر محتوى محظورًا من الجزء المختار (راجع Remarks)
استدعِ هذه الدالة مرة واحدة على مستند منشأ حديثًا وقبل إضافة أي محتوى. وللتحقق من ملف PDF/A قائم أنتجته هذه المكتبة أو غيرها، استخدم CheckFileCompliance مع ComplianceTest = 1
الصيغة
Delphi
Function TPDFlib.SetPDFAMode(NewMode: Integer): Integer;
ActiveX
Function PDFlib::SetPDFAMode(NewMode As Long) As Long
DLL
int DLSetPDFAMode(int InstanceID, int NewMode);
المعاملات
| NewMode | وضع امتثال PDF/A المطلوب تفعيله. ويُحدد كل وضع بجزء PDF/A part (1 أو 2 أو 3 أو 4 — ISO 19005-1/-2/-3/-4) ومستوى امتثال conformance level (B للإعادة البصرية الأساسية، A لإمكانية الوصول لـ PDF الموسوم). 0 — تعطيل وضع PDF/A (افتراضي). 1 — PDF/A-1a (ISO 19005-1 المستوى A). PDF 1.4. PDF موسوم مطلوب. 2 — PDF/A-1b (ISO 19005-1 المستوى B). PDF 1.4. إعادة بصرية فقط. 3 — PDF/A-2b (ISO 19005-2 المستوى B). PDF 1.7. إعادة بصرية؛ والشفافية والطبقات مسموحة. 4 — PDF/A-2a (ISO 19005-2 المستوى A). PDF 1.7. PDF موسوم مطلوب. 5 — PDF/A-3b (ISO 19005-3 المستوى B). PDF 1.7. مثل PDF/A-2b لكنه يسمح بملفات مضمّنة اعتباطية. 6 — PDF/A-3a (ISO 19005-3 المستوى A). PDF 1.7. مثل PDF/A-2a لكنه يسمح بملفات مضمّنة اعتباطية. 7 — PDF/A-3u (ISO 19005-3 المستوى U). PDF 1.7. مثل PDF/A-3b لكنه يعلن أن النص ينبغي أن يمتلك تعيينات Unicode. 8 — PDF/A-2u (ISO 19005-2 المستوى U). PDF 1.7. مثل PDF/A-2b لكنه يعلن أن النص ينبغي أن يمتلك تعيينات Unicode؛ وتبقى الملفات المضمّنة محظورة. 9 — PDF/A-4 (ISO 19005-4). PDF 2.0. يُحدد بالجزء وسنة المراجعة بدلًا من مستوى امتثال؛ ويحتاج النص تعيينات Unicode ولا يلزم الوسم. 10 — PDF/A-4e (ISO 19005-4). PDF 2.0. مثل PDF/A-4 ويسمح إضافيًا بالوسائط ثلاثية الأبعاد والغنية لمستندات الهندسة. 11 — PDF/A-4f (ISO 19005-4). PDF 2.0. مثل PDF/A-4 ويسمح إضافيًا بملف مضمّن بأي صيغة |
|---|
قيم الإرجاع
| 0 | فشل — لا يوجد مستند مفتوح أو كان NewMode خارج المدى 0–7 |
|---|---|
| 1 | فُعّل وضع PDF/A بنجاح |
ملاحظات
يتحكم الوضع المختار في حارس امتثال جانب التوليد. وبمجرد التفعيل ترفض المكتبة أو تعيد كتابة الاستدعاءات اللاحقة التي ستصدر محتوى محظورًا من الجزء، اتساقًا مع ISO 19005:
| CMYK / Separation / Shader colors | محجوب في كل أوضاع PDF/A (1–7) — يُهيأ المستند بنية إخراج sRGB ولا يجوز استخدام إلا ألوان متوافقة مع فئة جهاز نية الإخراج |
|---|---|
| Encryption | محجوب في كل أوضاع PDF/A. اضبط الوضع قبل استدعاء أي واجهة مرتبطة بالتشفير |
| Transparency / blend modes / page transparency groups | محجوب في الوضعين 1 و2 (PDF/A-1 يحظر الشفافية). مسموح في الأوضاع 3–7 (تسمح PDF/A-2/3 بالشفافية) |
| JavaScript actions | محجوب في كل أوضاع PDF/A — يحظر ISO 19005-1 §6.6.1 الـ JavaScript ويُحمل هذا الحظر قدمًا في PDF/A-2/3 |
| Embedded files / file attachments | محجوب في الأوضاع 1–4 (PDF/A-1 يحظرها؛ وتسمح PDF/A-2 فقط بملفات PDF ممتثلة لـ PDF/A، وهو ما لا تفرضه المكتبة). مسموح في الأوضاع 5 و6 و7 — تسمح PDF/A-3 صراحةً بملفات مضمّنة من أي نوع MIME عبر اقتران AFRelationship |
محتوى PDF الموسوم المطلوب (بنية العناوين ونص بديل للأشكال وخصائص نطاق الجداول ومدخلات RoleMap للأنواع المخصصة) مسؤولية المستدعي للمستويات a (الأوضاع 1 و4 و6). استخدم BeginTag وBeginArtifact وAddRoleMap وضابطات عنصر البنية لبناء شجرة البنية. واستدعِ GetPDFUADiagnostics قبل الحفظ لكشف أشيع مشكلات PDF الموسوم. وللمستوى u (الوضع 7) تأكد من أن موارد خطوط المستند توفر تعيينات نص Unicode لجميع النص المرسوم
يمكن تفعيل PDF/A وPDF/UA على المستند نفسه. فعّل SetPDFAMode أولًا (الأجزاء 1a/2a/3a ت imply PDF الموسوم سلفًا) ثم استدعِ SetPDFUAMode لإضافة إعداد الكتالوج الخاص بـ PDF/UA (DisplayDocTitle وpdfuaid:part و/Tabs /S التلقائي)
مثال
// PDF/A-1b — minimum-effort archival document
PDF.NewDocument;
PDF.SetPDFAMode(2); // PDF/A-1b
PDF.SetDocumentInfo('Title', 'Quarterly Report Q1 2026');
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.SetFontSize(12);
PDF.PrintText(50, 750, 'Quarterly Report — Q1 2026');
PDF.SaveToFile('Q1-Report-PDFA1b.pdf');
// PDF/A-3a — tagged report with an embedded source spreadsheet
PDF.NewDocument;
PDF.SetPDFAMode(6); // PDF/A-3a
PDF.SetPDFUAMode('en-US'); // Optional: also satisfy PDF/UA-1
PDF.SetDocumentInfo('Title', 'Sales Analysis 2026');
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.BeginTag('H1', '', '');
PDF.PrintText(50, 750, 'Sales Analysis');
PDF.EndTag;
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 720, 'See attached spreadsheet for source data.');
PDF.EndTag;
PDF.EmbedFile('Source data', 'data.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
PDF.SaveToFile('Sales-PDFA3a.pdf');انظر أيضا
CheckFileCompliance، SetPDFUAMode، SetMarkInfo، EmbedFile، BeginTag، GetPDFUADiagnostics، SetInformation