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

امتثالٌ يمكنك تسليمه لمدقّق

Spec: ISO 19005-4 (PDF/A-4)Spec: ISO 32000-2Spec: ETSI EN 319 142-1Spec: EN 16931-1

لا يريد المدقّق أن يسمع أنّ مستندًا متوافق. بل يريد أن يُسلَّم شيئين: المستند، ونتيجة فحصٍ يقول ذلك. وهذه الصفحة عن إنتاج كليهما بـ⁨NextPDF⁩ — مخرَجات متوافقة، ونتيجة تحقّق تستطيع وضعها أمام الشخص الذي يسأل.

تنتج النواة المفتوحة المصدر مخرَجات أرشفة PDF/A وتواقيع PAdES الأساسية، وتتحقّق من التوافق — PDF/A وPDF/UA والتواقيع. وتوسّع الإصدارات المتقدّمة المدى ليشمل التحقّق طويل الأمد والفوترة الإلكترونية. وعبر ذلك كله، تثبت قاعدة واحدة: التوافق حكمُ مدقِّقٍ، لا وعدٌ يحقّ للمُنتِج أن يقطعه.

لعمل الامتثال علامة فارقة. يقول أحدهم “نعم، إنّه متوافق”، ثم يخيّم الصمت على الغرفة، لأنّ لا أحد يستطيع إبراز الشيء الذي يثبت ذلك. المستند يبدو سليمًا. والمكتبة محلّ ثقة. ولا شيء من ذلك دليل.

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

  • يمكنك إنتاج مخرَجات متوافقة وكذلك نتيجة تقول إنّها متوافقة. لا ادّعاءً — بل أثرًا إضافةً إلى فحص.
  • تغطّي النواة الحالات الشائعة. فهي تنتج مخرَجات أرشفة PDF/A وتواقيع PAdES B-B / B-T، وتتحقّق من التوافق لـPDF/A وPDF/UA، والتواقيع.
  • التوافق حكمُ مدقِّق، محدَّد النطاق بمعيار، وبند، ومستوى. يذكر ⁨NextPDF⁩ الملفّ التعريفي والمستوى الذي يستهدفه، ولا يذكر أبدًا “متوافق” مطلقةً (Spec: ETSI EN 319 142-1, §6.1).
  • توسّع الإصدارات المتقدّمة المدى. فالتحقّق طويل الأمد (PAdES B-LT / B-LTA) والفوترة الإلكترونية (ZUGFeRD / Factur-X مقابل EN 16931) قدرات من الفئة التجارية.
  • يرفض المحرّك تزييف حكم. فهو ينتج مرشَّحًا ويُجري الفحص؛ ولا يختم ملفًّا بأنه متوافق بسلطته الخاصة أبدًا.

النهج فصلٌ نظيفٌ واحد، مطبَّق في كل مكان: إنتاج الأثر الذي يعرّفه المعيار قدرة؛ وتحديد أنّ الأثر متوافق حكم. يمنحك ⁨NextPDF⁩ الأول ويتيح لك الحصول على الثاني من مدقّق. ولا يخلط بينهما أبدًا.

ذلك الفصل هو ما يجعل المخرَجات قابلةً للتسليم. والتوقيع أوضح حالة. فقيمته تُحسَب على نطاق بايت معلَن يستثني عمدًا التوقيع نفسه (Spec: ISO 32000-2, §12.8)، وهذا بالضبط هو سبب كون الصلاحية شيئًا يستطيع طرف ثالث إعادة حسابه من الملف بدلًا من قبوله على الثقة. مهمة المُنتِج كتابة تلك البنية كتابةً صحيحة. ومهمة المدقّق تأكيدها. مهمّتان، وطرفان، والثانية هي التي يثق بها المدقّق.

فالسيناريو الذي تسلّمه له أربع حركات، والثالثة هي التي تحوّل “ينبغي أن يتوافق” إلى “يتوافق”.

  1. Produce a candidateGenerate PDF/A archival output or a PAdES signature with the conformance-relevant structure in place — embedded fonts, declared profile, a signature over a correct byte range.
  2. Refuse the impossibleThe engine rejects conformance-breaking combinations (an encrypted PDF/A, a signature level it cannot honor) rather than emitting a file that silently does not conform.
  3. Validate independentlyRun a conformance checker — PDF/A, PDF/UA, signature. A passing report is the evidence; the producing library is not.
  4. Hand over bothGive the auditor the document and the validation result together. The verdict travels with the artifact.
من الالتزام إلى الدليل: ينتج NextPDF مرشَّحًا متوافقًا ويرفض العمليات التي تكسر التوافق، ويصدر مدقّق مستقل الحكم، وذلك التقرير — لا المكتبة المُنتِجة — هو ما تسلّمه للمدقّق.

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

والفحص متدرّج، لا بِتٌّ واحد أبدًا. فـPAdES مُستوًى بحكم التصميم: B-B وB-T وB-LT وB-LTA يضيف كلٌّ منها إلى ما قبله (Spec: ETSI EN 319 142-1, §6.1). فتوقيع B-T يحمل طابعًا زمنيًّا موثوقًا لا يحمله B-B. والادّعاء الذي يسمّي المستوى ادّعاءٌ أمين؛ أمّا “موقَّع” مجرّدة فليست كذلك. يجعلك ⁨NextPDF⁩ تسمّي المستوى، فتقول النتيجة التي تسلّمها بالضبط ما الذي تحقّق.

شكلٌ قصيرٌ كامل. ينتج مرشَّحًا، ويتحقّق منه، ويعامل جواب المدقّق بوصفه الدليل — لا الاستدعاء المُنتِج أبدًا.

<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;
use NextPDF\Conformance\ConformanceValidator;
use NextPDF\Conformance\ConformanceTarget;
use NextPDF\Conformance\ValidationReport;
/**
* Produce a candidate, then prove it with an independent check.
*
* The producing call returns bytes that SHOULD conform. Only the
* validator's report turns "should" into something an auditor accepts.
*
* @param PdfDocumentInterface $candidate A document composed for archival
* (fonts embedded, profile declared)
*/
function archivalEvidence(
PdfDocumentInterface $candidate,
ConformanceValidator $validator,
): ValidationReport {
// 1. The producing call states intent; it does not certify.
$bytes = $candidate->getPdfData();
// 2. The check is the verdict. Conformance is decided here, by the
// validator, against the named target — not by the line above.
$report = $validator->validate($bytes, ConformanceTarget::PdfA);
// 3. Hand BOTH over: the bytes plus the report. The report names the
// target, the level, and every requirement that was checked.
return $report;
}

اسم المتغيّر $candidate عن قصد، والتقرير هو القيمة المُعادة عن قصد. المستند هو ما أنتجته؛ والتقرير هو ما يثبته. طلب منك المدقّق أن تُظهِر التوافق — فتمنحه البرهان، لا كلمة المُنتِج عليه.

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

وثمة فخّ ثانٍ أكثر خفاءً هو سماع “⁨NextPDF⁩ متوافق مع المعايير” بوصفه ضمانًا كلّيًّا واحدًا. ولا وجود لشيء كهذا، ولا يقدّمه محرّك أمين. فالتوافق لكلّ معيار، ولكلّ بند، ولكلّ مستوى. والادّعاء الصحيح يسمّي أيّ ملفّ تعريفيّ، وأيّ مستوى، ويُظهِر الفحص. أمّا الادّعاء الخالي من ذلك فهو تسويق، و⁨Insider_⁩ لا يطبعه.

  • ينتج ⁨NextPDF⁩ مرشَّحًا متوافقًا ويتحقّق منه؛ لكنه لا يشهد بالتوافق. تقرير المدقّق هو الدليل. ولا تُصدِر المكتبة المُنتِجة شهادتها الخاصة أبدًا.
  • التحقّق نتيجة مدقِّقٍ، لا ضمانٌ مطلق. فالتشغيل النظيف يعني أنّ الملف استوفى المتطلبات التي فحصها المدقّق، مقابل إصدار المعيار الذي ينفّذه. وهو أقوى دليل متاح، لا برهانٌ ميتافيزيقيّ.
  • مدى النواة هو مخرَجات أرشفة PDF/A وتواقيع PAdES B-B / B-T، إضافةً إلى التحقّق من التوافق لـPDF/A وPDF/UA والتواقيع. وهو لا يوفّر قدرات الإصدار المتقدّم بصمت.
  • التحقّق طويل الأمد (B-LT / B-LTA) والفوترة الإلكترونية (ZUGFeRD / Factur-X مقابل EN 16931) قدرات من فئة الإصدار المتقدّم. يعرّف EN 16931-1 النموذج الدلاليّ للفاتورة الذي تُتحقَّق الحمولة مقابله (Spec: EN 16931-1, Scope)؛ والوفاء به من الفئة التجارية، لا النواة.
  • الأثر القانونيّ سؤالٌ منفصلٌ عن التوافق التقنيّ. فما إذا كان التوقيع كافيًا قانونيًّا في ولايةٍ ما يحدّده القانون والسلطة المتلقّية، لا مدقّق. يتحدّث ⁨NextPDF⁩ عن النتيجة التقنية؛ ويتحدّث فريق الامتثال لديك عن وزنها القانونيّ.
Conformance reach across editions — edition availability
EditionAvailability
Core

ينتج مخرَجات أرشفة PDF/A وتواقيع PAdES B-B / B-T، ويتحقّق من التوافق لـPDF/A وPDF/UA والتواقيع. والمخرَجات ونتيجة التحقّق كلتاهما متاحتان للتسليم.

Pro

يضيف التحقّق طويل الأمد — PAdES B-LT / B-LTA — مُضمِّنًا أدلّة الإلغاء وطوابع المستند الزمنية التي تُبقي التوقيع قابلًا للتحقّق بعد انتهاء صلاحية الشهادة.

Enterprise

يضيف الفوترة الإلكترونية (ZUGFeRD / Factur-X مقابل EN 16931) وسياسة وتقرير توافق بنيويين — يبقى فحص بنية، مع كون التحديد النهائي من حق مدقّق وفريق الامتثال لديك.

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

  • التوافق — مطابقة ملفٍ للمتطلبات المعيارية لمعيار، كما تحدّدها عملية تحقّق، محدَّدة النطاق بمعيار، وبند، ومستوى بعينه.
  • المرشَّح — ملفٌ أُنتِج بقصد التوافق، قبل أن يؤكّد مدقّق مستقل توافقه فعلًا.
  • المدقّق / مدقّق التوافق — برمجية مستقلة تحكم على ملفٍ مقابل متطلبات معيار وتُنتِج النتيجة التي يعتمد عليها المدقّق.
  • PDF/A — عائلة ISO 19005: ملفّ تعريف PDF مقيَّد للحفظ طويل الأمد، مصمَّم لإعادة إنتاج المظهر الثابت للمستند عبر الزمن.
  • PDF/UA — عائلة ISO 14289: ملفّ تعريف إتاحة الوصول الذي يحدّد كيف ينقل ملفّ PDF الموسوم البنية إلى التقنية المساعِدة.
  • PAdES — التواقيع الإلكترونية المتقدّمة لـPDF، عائلة ETSI EN 319 142 من ملفّات تعريف التواقيع (B-B وB-T وB-LT وB-LTA) التي يرجع إليها ISO 32000-2 لتوقيع PDF.
  • EN 16931 — المعيار الأوروبيّ الذي يعرّف النموذج الدلاليّ لفاتورة إلكترونية أساسية، وهو الالتزام الذي تُفحَص حمولة الفاتورة الإلكترونية الهجينة مقابله.