Native headless document comparison
HPDFHeadlessCompare تقارن مستندين أصليين محمَّلين عبر HPDFCompareHeadlessDocuments؛ وABI لـ callback على Linux يكشف التنفيذ نفسه عبر hpdf_document_compare_json_v1 بـ type:compare
| وضع Pascal | وضع JSON | المحتوى المقارَن |
|---|---|---|
| hcmPageCount | pagecount | عدد أوراق شجرة الصفحات |
| hcmPageText | pagetext | عدد الصفحات والنص Unicode المستخرج |
| hcmObjectCount | objectcount | عدد الصفحات وعدد كائنات المراجع المتقاطعة قيد الاستخدام فيزيائيًا |
| hcmRenderedImage | renderedimage | عدد الصفحات والأبعاد المصيَّرة وبكسلات Cairo الأصلية |
| hcmStructural | structural | عدد الصفحات ورسوم الكتالوج والمعلومات وغير القابلة للوصول المقنَّنة |
| hcmFull | full | عدد الصفحات والكائنات والرسوم المقنَّنة ونص Unicode وبكسلات مصيَّرة |
التكافؤ البنيوي
المقارنة البنيوية تحل المراجع غير المباشرة وترتّب مدخلات القواميس، وتقنّن أسماء PDF وتمثيلات السلاسل النصية أو السداسية العشرية، وتفك فلاتر المسارات العادية قبل حساب hash للمحتوى بـ SHA-256
أرقام الكائنات وترتيب التسلسل وضغط المسارات العادية لا يغيّرون التكافؤ البنيوي؛ وترميزات الصور النهائية تحفظ سياسة الفلتر وفكها، بينما تُقارن الكائنات غير القابلة للوصول بوصفها multiset
قواميس التشفير وحاويات التخزين للمراجع المتقاطعة أو مسارات الكائنات مستثناة من البنية الدلالية؛ ومحتوى AES R5/R6 المصادق عليه يُقارن بعد الفك مع فرض إذن الاستخراج
فرق بنيوي يبلّغ عن مسار $Document على مستوى المستند؛ وعدّ الكائنات الفيزيائية يبقى وضعًا منفصلًا وقد يختلف عندما يستخدم محتوى مكافئ تخطيطات تخزين مختلفة
المقارنة المصيَّرة
كل صفحة تُصيَّر فعليًا بجهاز Cairo الأصلي عند DPI المنتقى؛ وبكسلات الصور المفكوكة تُدمج على أبيض وتُقارن في RGB أو luminance
التقارير تحتوي الأبعاد وعدد البكسلات المتغيّرة وأقصى فرق قناة ومتوسط الخطأ المطلق ونسبة البكسلات المتغيّرة والتشابه؛ والتشابه هو 1 - meanAbsoluteError / 255
البكسل يتغيّر عندما يتجاوز أقصى فرق قناة لديه ColorTolerance؛ والصفحة تنجح فقط عندما تتطابق الأبعاد ويلبي كل من التشابه ونسبة البكسلات المتغيّرة العتبات المهيأة
التصيير يتطلب الخطوط ومرمّزات الصور ودلالات الرسوم المدعومة نفسها كتصيير الصفحات الأصلي؛ والصفحة غير المدعومة تفشل المقارنة بدلًا من إنتاج تقرير مطابق
التنفيذ المحدود السقف
خيارات المقارنة تحدد سقوف التجوال والعمق والكائنات والمسارات المفكوكة وتحضير النص وتخزين النتائج والبكسلات المصيَّرة؛ والإلغاء يصل إلى التجوال واستخراج النص والتصيير
أبقِ كلتا نسختي المستند حيّتين ومملوكتيين حصريًا أثناء مقارنة Pascal؛ ومحتواهما الأصلي وخيارات مواردهما تُحفظ عند النجاح والفشل والإلغاء
ABI لـ Linux يقبل أسماء الأوضاع الستة الصغيرة أعلاه وأعضاء options صارمين مطابقين لحدود Pascal، إضافة إلى dpi وcolorTolerance وminimumSimilarity وmaxChangedPixelRatio وcolorSpace:rgb أو luminance
نتائج ABI تُهيأ وتُحدَّد سقوفها كاملةً قبل النشر المتزامن عبر callback؛ واستدعاءات المقبض نفسه والاستدعاءات المتزامنة بترتيب معاكس تستخدم ترتيب الأقفال الثابت القائم
حقول التقرير · المقارنة التعاقدية الدلالية · ABI لـ C الأصلي على Linux