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