THotPDF.RepairPDFA4 Method
تشغّل معاملة محدودة على رسم بيانات الكائنات تطبّق تطبيعًا حتميًّا لـ PDF/A-4، وتتحقق من النتيجة، ثم إما تثبّت مجموعة الإصلاحات الآمنة كاملة أو تعيد حالة المستند الأصلية
التصريح
function RepairPDFA4(
const Options: THPDFPDFA4RepairOptions;
out Report: THPDFPDFA4RepairReport;
out Issues: THPDFPDFA4ValidationIssues): boolean; overload;
function RepairPDFA4(
const Options: THPDFPDFA4RepairOptions;
out Report: THPDFPDFA4RepairReport;
out Issues: THPDFPDFA4ValidationIssues;
out Findings: THPDFComplianceFindings): boolean; overload;
عقد التثبيت
Trueتعني أن المعاملة قُبلت، بما في ذلك حالة عدم التغيّر لمستند مطابق بالفعلFalseتعني أن المعاملة تراجعت بعد فشل حدّ من الحدود، أو انتكاسة في التحقق، أو استثناء، أو عدم وفاء سياسةRequireFullConformanceReport.ValidationSucceededهو النتيجة الموثوقة الكاملة للمطابقة بعد إصلاح مثبَّت- مع الخيارات الافتراضية يمكن تثبيت إصلاحات آمنة بينما تبقى نتائج التحقق غير الآمنة غير المرتبطة صريحة في
IssuesوFindings
حدود الإصلاح الآمن
يمكن للطريقة تطبيع ترويسة PDF 2.0، وإنشاء معرّف trailer مفقود، وإنشاء أو إصلاح streams وقواميس البيانات الوصفية، وتطبيع تعريف PDF/A عبر URI مساحة الاسم مع الحفاظ على أي بادئة RDF مشروعة، وإزالة إدخالات Catalog المحظورة، وإزالة بنيات العرض البديل
إصلاح XMP بترميز UTF-8 يزيل بايت ترويسة الحزمة المحظور وصفات الترميز المحظورة، ويستخدم مساحة اسم تعريف PDF/A القياسية، ويكتب part=4 وrev=2020، ويختار خاصية المطابقة الصحيحة: الأساسية أو الهندسية أو خاصية الملف الملحق
خط أنابيب الإصلاح لا يعيد كتابة streams محتوى الصفحات أو التعليقات التوضيحية، ولا الخطوط، ولا فضاءات الألوان، ولا الشفافية، ولا الصور، ولا مشغّلات الرسوميات، ولا النص المستخرج
التراجع وقابلية التدقيق
لقطات الرسم تغطي تغييرات القواميس وبايتات stream البيانات الوصفية، لذا يستعيد التراجع الترويسة الأصلية وحالة trailer ورسم الكائنات وحِمل XMP ومحتوى الصفحة
نسخة overload المشتركة للنتائج ترفق بإبلاغها إجراءاتِ الإصلاح، وحالتَها: مطبَّقة أو غير محسومة أو فاشلة أو متراجَع عنها، وأعدادَ الإصلاح، ومعرّفاتِ القواعد المستقرة، والبنود، ومسارات الكائنات، وأرقام الكائنات، ومواضع الصفحات
ميزانيات الكائنات والتغييرات والنتائج المحتفظ بها والبايتات المفكوكة ورموز المحتوى تمنع الملفات العدائية من تحويل الإصلاح أو بوابات التحقق الخاصة به إلى عمل غير منتهٍ
مثال
var
Options: THPDFPDFA4RepairOptions;
Report: THPDFPDFA4RepairReport;
Issues: THPDFPDFA4ValidationIssues;
begin
Options := THPDFPDFA4RepairOptions.Default;
Options.Profile := p4pAutomatic;
if not PDF.RepairPDFA4(Options, Report, Issues) then
raise Exception.Create('PDF/A-4 repair rolled back');
if not Report.ValidationSucceeded then
LogRemainingPDFA4Issues(Issues);
end;