مرجع HotPDF
يمكن لـ HPDFContentStream تطبيع محتوى PDF المفكوك الترميز إلى أحداث قانونية (canonical) محدودة ومقارنة تلك الأحداث دون معاملة خيارات التسلسل (serialization) غير الضارة كتغييرات
الإعلانات (Declarations)
function HPDFNormalizeContentStreamGraphicsState(
const Bytes: TBytes; out Canonical: TBytes;
out Statistics: THPDFContentSemanticStatistics;
NumberTolerance: Double = 1E-9;
MaxOperations: Integer = 1000000;
MaxCanonicalBytes: Int64 = 67108864
): boolean;
function HPDFCompareContentStreamsSemantic(
const Left, Right: TBytes;
out Info: THPDFContentSemanticCompareInfo;
NumberTolerance: Double = 1E-9;
MaxOperations: Integer = 1000000;
MaxCanonicalBytes: Int64 = 67108864
): boolean;
التطبيع (Normalization)
- تُقرَّب (quantize) الأرقام حسب تفاوت (tolerance) المستدعي وتُصدَر بتهجئة مستقلة عن الإعداد المحلي (locale)
- تُقارَن السلاسل النصية الحرفية والسداسية عشرية وفق قيمة البايت المفكوكة الترميز، بينما تحتفظ المصفوفات بنوع العناصر وترتيبها
- تُقارَن السلاسل النصية الحرفية والسداسية عشرية وفق قيمة البايت المفكوكة الترميز، بينما تحتفظ المصفوفات بنوع العناصر وترتيبها
- يحافظ
qوQعلى مكدّس حالة كامل لكنهما لا يصبحان حدثَين بحد ذاتهما - تُضرَب مُعامِلات
cmالمتتالية بترتيب PDF، لذا فإن عمليات تحليل المصفوفة (matrix factorization) المكافئة تُقارَن على أنها متساوية - تُقارَن السلاسل النصية الحرفية والسداسية عشرية وفق قيمة البايت المفكوكة الترميز، بينما تحتفظ المصفوفات بنوع العناصر وترتيبها
- تُقارَن السلاسل النصية الحرفية والسداسية عشرية وفق قيمة البايت المفكوكة الترميز، بينما تحتفظ المصفوفات بنوع العناصر وترتيبها
التطبيع (Normalization)
يُبلغ THPDFContentSemanticStatistics عن معلومات الرموز (tokens) والعمليات وعمليات الحالة والحالة الزائدة والأحداث المطبَّعة وأقصى عمق للمكدّس وبايتات الصيغة القانونية وإزاحة الخطأ والصلاحية والحدود. تُبلغ المقارنة أيضًا عن أول حدث مطبَّع مختلف
تفشل بأمان (fail closed) ولا تُبلغ أبدًا عن التكافؤ حالات معطيات القاموس المتداخلة المشوَّهة، وتعداد وسيطات مُعامِل الحالة غير الصالح، ونطاقات حالة الرسوميات غير المتطابقة أو غير المغلقة، والمعطيات الزائدة، وفيض العمليات، وفيض بايتات الصيغة القانونية
مرّر بايتات المحتوى المفكوكة الترميز. يبقى فك ترميز مرشِّح الـ stream وتوفيق أسماء الموارد عبر قواميس موارد مختلفة من مسؤولية المستدعي