تخطَّ إلى المحتوى

الأرشفة وPDF/A

Spec: ISO 19005-4:2020, PDF/A-4 Spec: ISO 19005-2, PDF/A-2 Evidence: Standard-backed

PDF/A هو التنسيق الذي تلجأ إليه عندما يجب أن يبقى المستند قابلاً للقراءة ووفياً بعد عقود من الآن، على برمجيات لم تُوجد بعد. تشرح هذه الصفحة ما الذي يشمله ذلك الضمان فعلياً، وكيف ينتج ⁨NextPDF⁩ ملفاً متوافقاً، والجزء الذي يفاجئ الفرق: إنتاج PDF/A ثم إثبات أن الملف هو PDF/A مهمتان مختلفتان. المهمة الثانية تظل على عاتقك.

التزامات الأرشفة لا تتسامح مع الأعطال الصامتة. يبدو الملف سليماً اليوم، فيُحفظ في الأرشيف. ولا يظهر الخلل — خط غير مضمَّن، أو لون معتمد على الجهاز، أو ذيل مُشفَّر — إلا بعد سنوات، حين تختفي البيئة الأصلية ولا يستطيع أحد إعادة بناء الشكل الذي كان يفترض أن يبدو عليه المستند. عندئذٍ لا تكون التكلفة إعادة عرض، بل سجلاً لم يعد بإمكانك الوثوق به.

يوجد PDF/A تحديداً لإزالة هذه الفئة من الأعطال. لكن عبارة “استخدمنا مكتبة PDF/A ” ليست كعبارة “هذا الملف متوافق”. الخلط بين الاثنين هو الطريق الذي تتراكم به في الأرشيفات مستندات تبدو محفوظة في الظاهر فقط.

  • غرض PDF/A هو إعادة إنتاج وفية ومكتفية ذاتياً ومستقلة عن الجهاز عبر الزمن — فهو يحفظ المظهر البصري الثابت للمستند بمعزل عن الأدوات التي أنشأته (مقدمة ISO 19005-2).
  • يفرض ذلك قيوداً ملموسة: تضمين جميع الخطوط، ولون مستقل عن الجهاز (مباشرةً أو عبر قصد إخراج؛ ISO 19005-4 §6.2.4.1)، وعدم وجود تشفير في الذيل.
  • ينتج NextPDF ملفات PDF/A عبر وضع صريح يُفعَّل اختيارياً، ويرفض العمليات غير المتوافقة بدلاً من إصدار ملف غير متوافق بصمت.
  • يُحدِّد التوافق أداة تدقيق، ولا يؤكده المُنتِج. حتى نجاح المعيار نفسه يعتمد على بيئة الأرشفة المحيطة والإجراءات (مقدمة ISO 19005-4). التحقق من المخرجات خطوة تظل على عاتقك.

يتعامل NextPDF مع PDF/A بوصفه وضعاً يكون المستند فيه، لا مرشِّح معالجة لاحقة. الوضع اختياري التفعيل. وبمجرد تشغيله، يحمي المستند بفاعلية من العمليات التي قد تخل بالتوافق. يقوم مبدأ التصميم على الفشل المبكر. فرفض طلب PDF/A مُشفَّر بوضوح أفضل من إرجاع ملف يبدو أرشيفياً وهو ليس كذلك.

يتألف السيناريو من أربع مراحل. والمرحلة الثالثة هي التي غالباً ما تتخطاها الفرق.

  1. Compose for permanence Embed every font, use device-independent colour or an output intent, and avoid features the chosen PDF/A part forbids.
  2. Enable the PDF/A mode Opt in explicitly to the target conformance level. The mode now guards the document against incompatible operations.
  3. Validate independently Run a conformance checker. A passing report — not the producing library — is the evidence the archive needs.
  4. Preserve with procedure Store under records-management policy. The standard itself notes archival success depends on the environment, not the file alone.
سيناريو الأرشفة من البداية إلى النهاية: ينتج المحرك مرشَّحاً متوافقاً ويرفض العمليات التي تخل بالتوافق؛ ويصدر مدقق مستقل الحكم الذي يهم فعلاً للأرشيف.

التفعيل الاختياري حارس فعلي، لا مجرد راية. عندما يكون وضع PDF/A مُفعَّلاً وتُحاوَل عملية غير متوافقة — مثل تشغيل AES-GCM أو معالج التشفير القياسي — يطلق المحرك خطأ عدم توافق مُصنَّفاً. يعمل الحارس في كلا الترتيبين: تفعيل PDF/A ثم طلب التشفير، أو طلب التشفير ثم تفعيل PDF/A. في كلتا الحالتين، تكون النتيجة رفضاً واضحاً. يمنع ISO 19005 مفتاح Encrypt في ذيل ملف متوافق، ويتعامل المحرك مع ذلك بوصفه مُلزِماً لا استرشادياً.

يحافظ الوضع أيضاً على دقة حالته الخاصة. يؤدي تفعيل PDF/A لجزء محدد (على سبيل المثال مستوى وفي بالبايت من PDF/A-3 مقابل PDF/A-4) إلى ضبط مُميِّز توافق المستند ليطابقه. عندئذٍ ترى البوابات في جانب الكاتب التي تعتمد على الجزء القيمة الصحيحة بدلاً من قيمة افتراضية قديمة. هذا النوع من الاتساق الداخلي هو ما يحدد ما إذا كان المدقق سيُجيز الملف.

هذه الصفحة مدعومة بالمعايير بالكامل. Evidence: Standard-backed

الغرض يحدده المعيار. Spec: ISO 19005-2 ينص على أن الغرض الأساسي من PDF/A هو آلية لتمثيل المستندات الإلكترونية بحيث يُحفظ مظهرها البصري الثابت عبر الزمن، بمعزل عن الأدوات والأنظمة المستخدمة. والقيود تنبثق من ذلك: Spec: ISO 19005-4:2020, §6.2.4.1 يشترط أن يُحدَّد اللون بصورة مستقلة عن الجهاز، مباشرةً أو عبر قصد إخراج ⁨PDF/A.⁩ ويعزز التنسيق الأساسي شرط الخطوط — Spec: ISO 32000-2:2020, §9 يشير إلى أن العرض الأكثر قابلية للتنبؤ والأكثر موثوقية يتحقق عندما تكون جميع الخطوط مضمَّنة، وهي بالضبط الخاصية التي لا يستغني عنها أي أرشيف.

الحد موجود أيضاً في المعيار، وليس مجرد تنبيه تحريري. Spec: ISO 19005-4:2020 ينص في مقدمته على أن التطبيق الناجح لأغراض الأرشفة يعتمد على بيئة الأرشفة لدى المؤسسة، وسياسات إدارة السجلات، وشروط استمرارية إضافية. ويُحكَم على التوافق مقابل المتطلبات المعيارية للمعيار بواسطة أداة تدقيق — لا يعلنه المُنتِج.

سلوك المحرك مدعوم بالشيفرة: Evidence: Code-backed Document::enablePdfA() تفعيل اختياري صريح يطلق خطأ عدم توافق مُصنَّفاً عندما يُجمَع بين التشفير وPDF/A بأي من الترتيبين، ويُبقي مُميِّز توافق المستند متزامناً مع الجزء المحدد.

تُظهر الشيفرة أدناه سلوك الحارس عند نقطة الالتقاء. وضع PDF/A نفسه قدرة من فئة Premium، وفحص التوافق خطوة منفصلة ومستقلة.

<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;
use NextPDF\Security\Exception\IncompatiblePdfAModeException;
/**
* Produce an archival candidate, then prove it independently.
*
* The engine refuses conformance-breaking combinations; it does NOT
* certify the result. A validator does that.
*
* @param PdfDocumentInterface $doc A document with all fonts embedded
* @param object $pdfaLevel The target PDF/A version (Premium enum)
*
* @return string The archival candidate's bytes — not yet a verified PDF/A
*/
function buildArchivalCandidate(
PdfDocumentInterface $doc,
object $pdfaLevel,
): string {
try {
// Opt in explicitly. From here the mode guards the document.
$doc->enablePdfA($pdfaLevel);
} catch (IncompatiblePdfAModeException $e) {
// e.g. encryption was already requested — refused, not silently
// downgraded into a non-conforming "archival" file.
throw new \RuntimeException(
'PDF/A and encryption are mutually exclusive for a conforming '
. 'file; resolve before archiving.',
previous: $e,
);
}
$bytes = $doc->getPdfData();
// The step teams skip: this is a CANDIDATE. Run an independent
// conformance validator before treating it as a preserved record.
return $bytes;
}

التعليق على القيمة المُعادة هو الدرس. اسم الدالة يقول مرشَّح عن قصد. ينتج المحرك شيئاً ينبغي أن يكون متوافقاً. والمدقق وحده هو ما يحوِّل “ينبغي” إلى دليل.

مفهوم خاطئ واحد يملأ الأرشيفات بمستندات غير محفوظة: “المكتبة تقول PDF/A، إذن الملف هو PDF/A.” فالحكم ليس من حق المكتبة أن تصدره. يمكن للمُنتِج أن يصدر ملفاً يُقصَد به التوافق ومع ذلك يُغفِل متطلباً معيارياً. يُحدَّد التوافق مقابل المعيار بواسطة أداة تحقق. وعلى هذا التحديد يعتمد المدقق أو القارئ المستقبلي. أما التعامل مع نية المكتبة المُنتِجة بوصفها إثباتاً فهو الخطأ الجوهري.

فخ ثانٍ أكثر خفاءً: افتراض أن PDF/A وحده يحفظ المستند. فالمعيار نفسه يربط نجاح الأرشفة بالبيئة المحيطة والإجراءات. والملف المتوافق في مستودع غير منضبط يظل عرضة للخطر. لذلك فالتنسيق ضروري، لا كافٍ.

  • ينتج ⁨NextPDF⁩ مرشَّحاً متوافقاً؛ لكنه لا يشهد بالتوافق. شغِّل مدققاً مستقلاً. التقرير الناجح هو الدليل، لا المكتبة المُنتِجة.
  • أوضاع توافق PDF/A قدرة من فئة Premium. يصدر Core ملفات PDF 2.0 عادية ويعرض مسار ترقية قابلاً للتنفيذ. وهو لا يوفر ضمانات PDF/A. انظر الحد أدناه.
  • PDF/A والتشفير متعارضان لا يجتمعان في ملف متوافق. يرفض المحرك الجمع بينهما بأي من الترتيبين بدلاً من التدهور بصمت.
  • لا يستطيع المحرك تضمين خطوط لم تُعطَ له أو إصلاح لون معتمد على الجهاز تُوفِّره أنت. والتأليف من أجل الدوام — خطوط مضمَّنة، ولون مستقل عن الجهاز — مسؤولية تقع على المدخلات.
  • متانة الأرشفة تعتمد على العملية، لا على الملف وحده. يجعل ISO 19005 الاحتفاظ المؤسسي وإجراءات إدارة السجلات جزءاً من الحفظ الناجح.
  • هذه الصفحة مدعومة بالمعايير وعلى مستوى السلوك على سطح ⁨Premium.⁩ وهي لا تؤكد أي شهادة ولا تمنح أيّاً منها.
PDF/A archival conformance — edition availability
Edition Availability
Core

يصدر Core ملفات PDF 2.0 عادية فقط. يطلق enablePdfA() خطأ ترقية قابلاً للتنفيذ يشير إلى الحزمة التجارية. لا يوجد ضمان ⁨PDF/A⁩ خاص بـ ⁨Core⁩ وحده.

Pro

أوضاع توافق PDF/A (بما في ذلك مستويات PDF/A-3 الوفية بالبايت و PDF/A-4) متاحة، مع حارس عدم توافق التشفير.

Enterprise

يضيف سياسة وتقرير توافق PDF/A بنيويين (يبقيان فحص بنية، لا شهادة — والتحديد النهائي يعود إلى مدقق وفريق الامتثال لديك).

  • PDF/A — عائلة ISO 19005: ملف تعريف PDF مقيَّد للحفظ طويل الأمد، مصمَّم لإعادة إنتاج المظهر الثابت للمستند عبر الزمن بمعزل عن الأدوات المُنتِجة.
  • مستوى التوافق / الجزء — صيغة PDF/A المحددة (على سبيل المثال PDF/A-2 وPDF/A-3 وPDF/A-4 ومستوياتها الفرعية)؛ يقيِّد كلٌّ منها ميزات PDF التي يجوز استخدامها.
  • قصد الإخراج — ملف توصيف لوني مضمَّن يتيح تفسير اللون المعتمد على الجهاز بصورة مستقلة عن الجهاز.
  • اللون المستقل عن الجهاز — لون محدَّد بحيث يُعاد إنتاجه باتساق بغض النظر عن جهاز العرض، وهو شرط من شروط PDF/A.
  • مدقق التوافق / المُحقِّق — برمجية مستقلة تحكم على الملف مقابل المتطلبات المعيارية للمعيار؛ وهي مصدر حكم التوافق.
  • المرشَّح الأرشيفي — ملف أُنتِج بقصد التوافق، قبل أن يؤكد مدقق مستقل توافقه فعلاً.