مرجع HotPDF
تُطبِّق SanitiseLoadedDocument سياسة أمان مختارة على كامل بيان الكائنات (object graph) المحمَّل، وتُجهِّز إعادة كتابة كاملة ومدمجة للمستند
الأنماط (Profiles)
| المرجع | المرجع |
|---|---|
spJavaScriptOnly | المرجع |
spActiveContent | المرجع |
spUntrustedDocument | المرجع |
spRichMediaOnly | المرجع |
spRedactionCleanup | المرجع |
التصريح
function SanitiseLoadedDocument(Profile: THPDFSanitiseProfile;
out Report: THPDFSanitiseReport): Boolean; overload;
function SanitiseLoadedDocument(
out Report: THPDFSanitiseReport): Boolean; overload;
function ScrubLoadedRedactionRemnants(
out Report: THPDFSanitiseReport): Boolean;
يستخدم التحميل الزائد (overload) بدون نمط القيمة spUntrustedDocument
التصريح
يحصي THPDFSanitiseReport الإجراءات (actions) المُزالة، وإدخالات JavaScript، والملفات المضمَّنة، والتعليقات التوضيحية (annotations) الخطرة، وإدخالات XFA، وتدفقات الحمولة (payload streams)، والمراجع المنفصلة، والكائنات غير القابلة للوصول، وإدخالات البيانات الوصفية (metadata)، وتعليقات Redact، وبايتات المراجعات السابقة المُهمَلة، والكائنات التي تمت زيارتها
تشير Changed إلى ما إذا كان بيان الكائنات قد تغيّر، بينما توضِّح LimitExceeded وInvalidObjectGraph سبب رفض الفحص المسبق (preflight)
التصريح
- تُفهرِس العملية الكائنات غير المباشرة وتحل المراجع في زمن شبه خطي (near-linear) بدلاً من مسح قائمة الكائنات بشكل متكرر
- يزور الفحص المسبق (preflight) الآمن من الحلقات (cycle-safe) الرسم البياني الكامل للمرشّح قبل أي تعديل، ويرفض الرسوم البيانية التي تتجاوز مليوني عقدة فريدة
- يفشل النمط غير الموثوق (untrusted) بأسلوب آمن (fail closed) عند مواجهة قواميس إجراءات (action dictionaries) غير معروفة مرتبطة بمفاتيح تحمل إجراءات، مع الإبقاء على التنقل المحلي المعروف عبر
GoTo - يزور الفحص المسبق (preflight) الآمن من الحلقات (cycle-safe) الرسم البياني الكامل للمرشّح قبل أي تعديل، ويرفض الرسوم البيانية التي تتجاوز مليوني عقدة فريدة
- يزور الفحص المسبق (preflight) الآمن من الحلقات (cycle-safe) الرسم البياني الكامل للمرشّح قبل أي تعديل، ويرفض الرسوم البيانية التي تتجاوز مليوني عقدة فريدة
- يزور الفحص المسبق (preflight) الآمن من الحلقات (cycle-safe) الرسم البياني الكامل للمرشّح قبل أي تعديل، ويرفض الرسوم البيانية التي تتجاوز مليوني عقدة فريدة
التصريح
var
Report: THPDFSanitiseReport;
begin
PDF.LoadFromFile('untrusted.pdf');
if not PDF.SanitiseLoadedDocument(spUntrustedDocument, Report) then
raise Exception.Create('Document sanitisation was rejected');
PDF.SaveLoadedDocument('sanitised.pdf');
end;
التصريح
- استدعِ الطريقة (method) فقط بعد نجاح
LoadFromFileأو أي مسار عمل آخر لتحميل المستند - يفرض الاستدعاء الناجح إعادة كتابة كاملة ويخرج من وضع التحديث التزايدي، لأن البايتات المحذوفة يجب ألا تبقى في مراجعة سابقة
- يفرض الاستدعاء الناجح إعادة كتابة كاملة ويخرج من وضع التحديث التزايدي، لأن البايتات المحذوفة يجب ألا تبقى في مراجعة سابقة