كتيب وصفات الفحص المسبق

يجمع كتيب الوصفات هذا بين واجهات برمجة تطبيقات الفحص المسبق والعروض التوضيحية في وصفات موجهة نحو المهام؛ استخدم المرجع البرمجي عندما تحتاج إلى تواقيع دقيقة؛ واستخدم هذه الصفحة عندما تحتاج إلى مسار عمل لتطبيق أو نص برمجيات بناء أو وظيفة CI

اختر تنسيق المخرجات

var
  PDF: THotPDF;
begin
  PDF := THotPDF.Create(nil);
  try
    PDF.SavePreflightReport('Input.pdf', 'Input.preflight.txt');
    PDF.SavePreflightReport('Input.pdf', 'Input.preflight.json', '', pfJSON);
    PDF.SavePreflightReport('Input.pdf', 'Input.preflight.html', '', pfHTML);
    PDF.SavePreflightReport('Input.pdf', 'Input.preflight.csv', '', pfCSV);
  finally
    PDF.Free;
  end;
end;

مخرجات النص مستقرة البايت وصديقة للمقارنة؛ وتنسيق JSON مناسب لتغذية خطوط المعالجة؛ بينما تنسيق HTML مستقل بذاته ويمكن فتحه مباشرة أو حفظه كعنصر أثر لـ CI؛ وتنسيق CSV يستخدم أعمدة مستقرة لسير عمل جداول البيانات وتقارير الدفعات

التحقق من صحة مستندات PDF/VT

var
  PDF: THotPDF;
  Report: AnsiString;
begin
  PDF := THotPDF.Create(nil);
  try
    if not PDF.ValidatePDFVT('Input.pdf', Report) then
      WriteLn(string(Report));
  finally
    PDF.Free;
  end;
end;

يركز تقرير PDF/VT على تعريف ISO 16612-2 وبنية أجزاء المستند: XMP GTS_PDFVTVersion في نص العنصر أو شكل سمة RDF، ومطابقة تاريخ التعديل، وعلامة أساس PDF/X، ونية المخرجات، وتغطية DPartRoot و DPartRootNode و NodeNameList و DPart على مستوى الصفحة

تطبيق ملف تعريف

var
  PDF: THotPDF;
  Report: AnsiString;
begin
  PDF := THotPDF.Create(nil);
  try
    Report := PDF.CreatePreflightReportWithProfile(
      'Input.pdf', '', 'project-preflight.ini', pfJSON);
  finally
    PDF.Free;
  end;
end;

تقوم ملفات التعريف بكتم عمليات التحقق المسماة أو التحذيرات أو كل التلميحات؛ استخدم ValidatePreflightProfile قبل تطبيق ملف تعريف من تأليف المستخدم عندما يكون الفشل المحكم أكثر أهمية من التغاضي الصامت عن اسم مهمل

إنشاء ملف تعريف قابل لإعادة الاستخدام من إعداد مسبق

var
  PDF: THotPDF;
  Profile: THPDFPreflightProfile;
begin
  PDF := THotPDF.Create(nil);
  try
    Profile := PDF.GetBuiltInPreflightProfile('compact');
    Profile.DisableWarnings := 'OpenAction,JavaScript,URIAction';
    PDF.SavePreflightProfile(Profile, 'compact-no-actions.ini');
  finally
    PDF.Free;
  end;
end;

استخدم MergePreflightProfiles لدمج إعداد مسبق مع أسماء خاصة بالمشروع؛ واستخدم DiffPreflightProfiles لمراجعة انحراف ملف التعريف قبل تحديث ملف تكوين مشترك

أرشفة التقرير مع ملف PDF

PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');

يضيف مسار دمج النص كتلة تعليق مقروءة بعد علامة EOF النهائية؛ بينما يضيف مسار XMP حمولة على شكل RDF لسير عمل الأرشفة التي تفحص حزم البيانات الميتا

التحقق من صحة تقرير مدمج

var
  OriginalReport: AnsiString;
  CurrentReport: AnsiString;
begin
  if not PDF.LoadAndValidatePreflightReport(
    'Input-with-report.pdf', OriginalReport, CurrentReport) then
    WriteLn(string(PDF.ComparePreflightReports(OriginalReport, CurrentReport)));
end;

يقارن مسار التحقق من الصحة البصمة المدمجة مع تشغيل فحص مسبق جديد على بايتات المصدر؛ ومساعد الفروق موجه نحو السطور ومضبط لتقارير الفحص المسبق لـ HotPDF

تشغيل ممر إصلاح محافظ

var
  RepairsApplied: AnsiString;
begin
  if PDF.RepairPDFFromPreflightReport(
    'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
    WriteLn(string(RepairsApplied));
end;

يظل مساعد الإصلاح ضيقًا عن قصد؛ فهو يتعامل مع البايتات الزائدة بعد علامة EOF النهائية وعلامات EOF المفقودة، ولكنه لا يعيد بناء جداول الإسناد الترافقي أو إعادة كتابة التدفقات

تجميع تقارير متعددة

Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);

تدرج مخرجات التجميع سطر حالة واحد لكل ملف PDF وإجمالي التقارير المعالجة والفشل والتحذيرات؛ وهي مفيدة عندما يحتاج خط المعالجة إلى ملخص واحد على الرغم من الاحتفاظ بتقارير مفصلة لكل ملف إدخال

استخدام أداة خط الأوامر

HotPDFPreflight Input.pdf -f json -o reports
HotPDFPreflight Input.pdf --pdfvt -o reports
HotPDFPreflight C:\Archive -r --preset compact -f text -o reports --aggregate reports\Aggregate.txt
HotPDFPreflight C:\Archive -r --profile project-preflight.ini -f html -o reports

تعكس أداة خط الأوامر سير عمل المكتبة: إدخال ملف واحد أو دليل بشكل متكرر، ومخرجات نصية / JSON / HTML، وكلمة مرور اختيارية، وملف تعريف اختياري، وإعداد مسبق مدمج، وتقدم مفصل، وملخص تجميعي

بناء لوحة معلومات ثابتة

PreflightDashboard C:\Archive C:\Archive\preflight-dashboard

يكتب العرض التوضيحي للوحة المعلومات ملف index.html بالإضافة إلى تقارير HTML لكل ملف؛ ولا يلزم وجود خادم ويب، لذا يمكن نشر المخرجات كعنصر أثر ثابت

التكيف مع مستهلكي JSON بنمط veraPDF

Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);

يحفظ المهايئ على دلالات HotPDF مع إعادة تشكيل حالات الفشل في بنية نتيجة تحقق مألوفة للأدوات التي تستهلك بالفعل JSON شبيه بـ veraPDF

مواضيع ذات صلة