مرجع HotPDF
تكشف HotPDF عن كل عملية في تدفق محتوى مفكوك الترميز عبر واجهة زائر (visitor) معدودة المراجع واستدعاء حدث Delphi، دون أن يحتاج المستدعون إلى كتابة مُجزّئ رموز (tokenizer) لـ PDF
الفحص والقياس
يحدّد THPDFContentOperatorEventData مراحل بداية التدفق والمُعامِل (operator) ونهاية التدفق، ويُبلغ عن فهرس العملية واسم المُعامِل وعدد المعطيات (operands) ونطاق البايتات والحالة الحتمية قبل تنفيذ مُعامِل المصدر الحالي
تحتوي الحالة على أعماق حالة الرسوميات وكائن النص والمحتوى الموسوم وقسم التوافق، بينما توفّر THPDFContentOperatorView بايتات العملية أو المعطيات للقراءة فقط عند الطلب دون نسخ تدفق المصدر بالكامل
التحويل أو الرفض
تختار الاستدعاءات (callbacks) بين coaKeep وcoaDelete وcoaReplace وcoaStop أو coaReject
تتحول إجراءات الحذف والاستبدال إلى تعديلات AST مرتّبة وغير متداخلة؛ لا ينشر الرفض أي مخرجات، وتكتمل coaStop بنجاح بعد المُعامِل الحالي
تتبع لقطات الحالة (state snapshots) الاجتياز الأصلي للمصدر حتى عند استبدال عملية ما، مما يجعل الفحص المتكرر حتميًا
التحويل أو الرفض
يهيّئ THPDFContentOperatorVisitOptions.Default القيم MaxSourceBytes وMaxOperators وMaxLexemes وMaxDepth وMaxReplacementBytes وValidateOutput
تتبع لقطات الحالة (state snapshots) الاجتياز الأصلي للمصدر حتى عند استبدال عملية ما، مما يجعل الفحص المتكرر حتميًا
يميّز THPDFContentOperatorVisitStatus مع تشخيص مرفق بين المُدخل المشوَّه، ومخرجات الاستبدال غير الصالحة، واستثناءات الاستدعاء، وإخفاقات الحدود، والرفض الصريح
التحويل أو الرفض
PDF.ContentOperatorVisitor := Visitor;
PDF.OnContentOperator := HandleContentOperator;
Options := THPDFContentOperatorVisitOptions.Default;
if PDF.VisitLoadedPageContentOperators(0, True, Options,
CancellationToken, Statistics) then
UseStatistics(Statistics);
تتبع لقطات الحالة (state snapshots) الاجتياز الأصلي للمصدر حتى عند استبدال عملية ما، مما يجعل الفحص المتكرر حتميًا
مع ApplyChanges=True، تتحقق HotPDF أولًا من التدفق المُحوَّل بالكامل، ثم تستبدل محتوى الصفحة في تعديل واحد للرسم البياني (graph)، وتُبطل ذاكرات التخزين المؤقت لقائمة العرض المُجمَّعة والراستر والقرص وفكّ ترميز الخط والصور المصغَّرة