نحن سعداء بالإعلان عن إصدار GroupDocs.Comparison for Java 26.11، المتاح اعتبارًا من نوفمبر 2026. الميزة الرئيسية هي مقارنة الصور المعتمدة على OCR: يمكن الآن مقارنة الصور بالنص المعترف به فيها بدلاً من بكسلاتها. حصلت مقارنة جداول البيانات على تجديد كبير — يتم مطابقة الصفوف حسب المحتوى، ومقارنة الأوراق الكبيرة تستغرق ثوانٍ بدلاً من دقائق. نتائج PDF الآن مُرتبة من صفحة المصدر، بنفس الطريقة كما في GroupDocs.Comparison for .NET، ومجموعة من الإصلاحات تغطي مقارنة النص، Word، العروض التقديمية ومعاينة HTML.

ما الجديد في هذا الإصدار

المفتاح الملخص الفئة
COMPARISONNET-4925, COMPARISONNET-4934 يمكن مقارنة الصور بالنص المعترف به فيها (OCR) بدلاً من بكسلاتها ميزة
COMPARISONJAVA-1798, COMPARISONNET-4940, COMPARISONNET-4945 يتم مطابقة صفوف جداول البيانات حسب المحتوى: الصف المُدرج أو المحذوف لم يعد يُعلِّم كل صف لاحق بأنه تغير تصحيح
COMPARISONJAVA-1797, COMPARISONNET-4930 مقارنة جداول البيانات تستغرق ثوانٍ بدلاً من دقائق؛ فرق نص أسرع في كل صيغة تصحيح
COMPARISONJAVA-1796, COMPARISONNET-4946 نتيجة XLSX: الصفوف التي لا تملك ارتفاعًا خاصًا تبقى مُناسبة لمحتواها تصحيح
COMPARISONNET-4947 نتيجة XLSX: الأرقام والتواريخ غير المتغيرة تحتفظ بنوعها بدلاً من التحول إلى نص تصحيح
COMPARISONNET-4944 StyleSettings.setHighlightColor يملأ خلفية خلايا جداول البيانات المتغيرة تصحيح
COMPARISONNET-4927, COMPARISONNET-4928, COMPARISONNET-4923 النص: الكلمات التي تُدفع عبر فواصل الأسطر لم تعد تُبلغ كحذف وإعادة إدراج تصحيح
COMPARISONNET-4403, COMPARISONNET-4891 نتائج PDF مُرتبة من صفحة المصدر: المكونات في مواضعها، الخلايا تُلتف عند حدها الخاص تحديث
COMPARISONNET-4931 نتيجة PDF المضمنة تُظهر العبارة المستبدلة بالكامل: الكلمات القديمة ثم الجديدة تصحيح
COMPARISONNET-4896 نتيجة PDF المضمنة لم تعد تُلف سطرًا جعلته المقارنة أطول قليلًا إلى السطر التالي تصحيح
COMPARISONNET-4763 نتيجة PDF لم تعد ترسم شبكة سوداء فوق حدود الجدول نفسها تصحيح
— PDF صفحات المرسومة عبر النماذج (جداول البيانات المحفوظة كـ PDF) لم تعد تُعتبر غير متغيرة تصحيح
— PDF: الأسطر التي لا تحتوي سوى على مسافات لم تعد تُبلغ كتغييرات تصحيح
— PDF: جدول المحتويات يحتفظ بأرقام صفحاته على أسطره تصحيح
COMPARISONNET-4926 Word: عمود أو صف جدول أصبح فارغًا يُحافظ عليه في مكانه بدلاً من حذفه وإعادة إدراجه تصحيح
COMPARISONNET-4880 العروض التقديمية: LoadOptions.setSkipExternalResources و setWhitelistedResources الآن تُطبق تصحيح
COMPARISONNET-4935 معاينة HTML: المعاينات المتزامنة لم تعد تكتب فوق صفحات بعضها البعض؛ الصفحات المطلوبة تُحترم تصحيح
COMPARISONJAVA-1794, COMPARISONJAVA-1795 تم تحديث مكتبات Aspose تحديث

تغييرات السلوك التي يجب التحقق منها قبل الترقية

  1. اعتماد جديد. يعلن ملف الـ POM المنشور عن اعتماد جديد، Aspose.OCR for Java، يُستخدم فقط في مقارنة OCR. وهو يجلب ONNX Runtime مع المكتبات الأصلية. إذا لم تكن تستخدم OCR، يمكنك استبعاده — جميع المقارنات الأخرى تعمل بدونه (انظر كيفية الحصول على التحديث).
  2. تغييرات جداول البيانات. عندما يتم إدراج أو حذف صفوف، تُبلغ مقارنة جداول البيانات عن تغييرات مختلفة — وعادةً أقل بكثير — لأن الصفوف الآن تُطابق حسب المحتوى.
  3. تخطيط PDF. تُرتب نتائج PDF بطريقة مختلفة: كل مكون يبقى في موضعه على صفحة المصدر.
  4. ترتيب الاستبدالات. في نتائج النص وPDF المضمنة، تُقرأ الكلمة أو العبارة المستبدلة أولًا القديمة ثم الجديدة.
  5. وضع التقييم. يتم مقارنة الصفحتين الأوليين فقط من PDF في وضع التقييم، كما هو الحال في GroupDocs.Comparison for .NET.

ميزة جديدة: مقارنة الصور بالنص المعترف به (OCR)

يمكن الآن مقارنة صورة بالنص الذي تقرأه Aspose.OCR فيها، بدلاً من بكسلاتها. هذا هو الاختيار المناسب للمسحات الضوئية، الصور ولقطات الشاشة للوثائق، حيث لا ينتج عن نفس النص نفس البكسلات — صفحة تُعيد مسحها مع إزاحة طفيفة أو بجودة مختلفة لم تعد تُظهر اختلافات في كل مكان.

try (Comparer comparer = new Comparer("source.png")) {
    comparer.add("target.png");

    OcrOptions ocr = new OcrOptions();
    ocr.setEnabled(true);
    ocr.setDisplayMode(OcrDisplayMode.SIDE_BY_SIDE);  // or TEXT

    CompareOptions options = new CompareOptions();
    options.setOcr(ocr);
    comparer.compare("result.png", options);

    for (ChangeInfo change : comparer.getChanges()) {
        OcrChangeInfo ocrChange = (OcrChangeInfo) change;
        System.out.println(change.getText() + ": confidence " + ocrChange.getConfidence()
                + ", " + ocrChange.getSourceBoxes().length + " box(es) on the source");
    }
}

ما يمكنك التحكم فيه:

  • وضع العرض. SIDE_BY_SIDE (الافتراضي) يعرض الصورتين جنبًا إلى جنب مع وضع الصناديق حول الكلمات المتغيرة. TEXT يعرض النص المعترف به فقط، مع تمييز التغييرات فيه.
  • تفاصيل التغيير. كل تغيير هو OcrChangeInfo يحتوي على الصناديق التي يغطيها على الصورتين (getSourceBoxes()، getTargetBoxes()) وثقة التعرف (getConfidence()). الصناديق تكون فارغة في وضع TEXT.
  • اللغة. setLanguage(OcrLanguage) يحدد اللغة أو الخط؛ الافتراضي هو LATIN. اللغات الأخرى تحتاج إلى نموذج تعرّف يتم تنزيله عند الاستخدام الأول. setDisableResourceDownloads(true) و setResourcesPath(String) يقيدان التعرف على النماذج الموجودة بالفعل على القرص.

يجب أن يكون Aspose.OCR for Java على مسار الفئة. إنه اعتماد لملف الـ POM المنشور، وليس جزءًا من الـ jar. بدون ذلك، تفشل مقارنة OCR برسالة تُظهر المكتبة المفقودة.

مقارنة جداول البيانات

الصفوف مطابقة حسب المحتوى

سابقًا، كان يتم إقران الصفوف مع الصف في الفهرس نفسه في المصنف الآخر. عندما يُدرج أو يُحذف صف، يُبلغ عن كل صف بعده كأنه أعيد كتابته. على سبيل المثال، مصنف مكوّن من ستة صفوف مع حذف أحدها أنتج 91 تغييرًا؛ الآن ينتج 8 — الخلايا الست للصف المحذوف، مُعلَّمة في مكانها، وعدد الصفوف في ورقة الملخص.

الصفوف والأعمدة الآن تُمحاذى حسب محتوى خلاياها. الصفوف المتطابقة في كلا الملفين تُقارن مباشرة، وما بينهما فقط يُمحاذى. عدد التغييرات المبلغ عنها لهذه الملفات يختلف عن الإصدارات السابقة.

ثوانٍ بدلاً من دقائق

قد تستغرق مقارنة جداول البيانات دقائق حتى للملفات المتطابقة: ورقتان متطابقتان بحجم 200 × 20 استغرقتا 2.5 دقيقة. الآن تستغرقان أقل من ثانية (بضع ثوانٍ للمقارنة الأولى بعد بدء الـ JVM)، وورقة بحجم 400 × 20 مع حذف صف واحد تستغرق حوالي 7 ثوانٍ.

تم إعادة صياغة فرق الكلمات خلف كل مقارنة ويعيد النتيجة نفسها كما كان، لكن بسرعة أكبر — لذا تستفيد مقارنة Word وPDF والنص أيضًا. تُقارن الصفوف والأعمدة المتطابقة دون احتساب نقاط، لذا لا يتم محاذاة ورقتين متطابقتين على الإطلاق.

ارتفاعات الصفوف، أنواع الأرقام ولون التمييز

  • الصفوف التي لا تملك ارتفاعًا خاصًا تُترك الآن لتناسب محتواها في النتيجة، لذا الخلايا الملتفة والخلايا ذات الخط الكبير لا تُقَطَع بعد الآن. الصفوف ذات الارتفاع الصريح تحتفظ به.
  • الأرقام والتواريخ غير المتغيرة تحتفظ بنوعها بدلاً من كتابتها كنص. خلايا الصيغ لا تزال تُكتب بقيمها المحسوبة.
  • StyleSettings.setHighlightColor الآن يملأ خلفية الخلايا المتغيرة:
StyleSettings deleted = new StyleSettings();
deleted.setHighlightColor(Color.PINK);

CompareOptions options = new CompareOptions();
options.setDeletedItemStyle(deleted);

نتائج PDF

التخطيط من صفحة المصدر

محرك PDF الآن يُرتب النتائج بنفس طريقة GroupDocs.Comparison for .NET:

  • كل مكون من النتيجة يبقى في موضعه على صفحة المصدر؛ تُوضع الصور في إحداثياتها الخاصة، وتُنقل الرسومات المتجهة للصفحة.
  • الجدول يرسم شبكته، والنص داخل كل خلية يلتف عند حد الخلية نفسه، بما في ذلك الخلايا المدمجة.
  • الأسطر تُجمع في فقرات حسب المسافة بين الخطوط القاعدية، وهوامش الصفحة تُستمد من الصفحة نفسها.
  • الصفحات المتطابقة في المستندين تُعثر عليها في أي مكان داخل المستند، ليس فقط في البداية، ولا تُقارن مرة أخرى.

تبدو النتائج مختلفة عن الإصدارات السابقة. يُرسم المحتوى المحذوف في موضعه على صفحة المصدر؛ حيث يحتوي الهدف على محتوى آخر في ذلك المكان، قد يتداخل الاثنين.

إصلاحات صغيرة

  • العبارات المستبدلة. كان يتم رسم استبدال عدة كلمات زوجًا بزوج، لذا قراءة “Richard McClintock” تتحول إلى “Vasily Richard Pupkin McClintock”. النتيجة المضمنة الآن تُظهر العبارة القديمة ثم الجديدة.
  • الأسطر التي أصبحت أطول قليلًا. في نتيجة مضمّنة، السطر الذي جعلته الاستبدال أطول كلمة واحدة لم يعد يلف كلمته الأخيرة إلى سطر منفصل فوق السطر التالي.
  • شبكات الجداول. الحد الجدولي الذي لم يُكتشف لونه لم يعد يُرسم بالأسود فوق حدود المصدر نفسها.
  • الصفحات المرسومة عبر النماذج. الصفحات التي تُرسم كل شيء عبر النماذج، كما في جدول بيانات محفوظ كـ PDF، كانت تُعتبر غير متغيرة. الآن تُقارن النماذج أيضًا، لذا تُبلغ عن تغييراتها.
  • الأسطر الفارغة. الأسطر التي لا تحتوي سوى على مسافات لم تعد تُبلغ كتغييرات.
  • جداول المحتويات. رقم صفحة سطر جدول المحتويات المتغير يبقى على سطره.

إصلاحات أخرى

نص عبر فواصل الأسطر

تحرير يطول أو يقصر سطرًا في ملف نصي يدفع الكلمات عبر فواصل الأسطر بعده. عند المقارنة سطرًا بسطر، كانت تلك الكلمات تُبلغ كحذف من سطر وإدراج في السطر التالي. الآن تُدمج الأسطر مما يقلل عدد التغييرات، وتُقارن كعملية واحدة وتُعاد ترتيبها على أسطر الهدف. يُبلغ عن الاستبدال أولًا القديم ثم الجديد، وتطبيق عرض HTML لمقارنة النص يطبق التغييرات المقبولة والمرفوضة بنفس طريقة نتيجة النص. لا يزال مقارنة ملف واحد مع عدة أهداف تُجرى سطرًا بسطر.

Word: عمود أو صف جدول فارغ

عندما أصبح عمود أو صف جدول فارغًا، كان يُبلغ كحذف وإدراج عمود أو صف فارغ، وتُزاح الخلايا التي تليه. الآن يبقى في مكانه، وتُبلغ محتوياته كحذف.

العروض التقديمية: الموارد الخارجية

LoadOptions.setSkipExternalResources و setWhitelistedResources، المضافان في 26.10، لم يكن لهما تأثير على العروض التقديمية. الآن تُطبق على العروض التقديمية كما على مستندات Word وHTML، ولا يجلب عرض النتيجة موارد خارجية أبدًا. تُقارن الصورة غير المحملة كصورة فارغة.

معاينة HTML

كانت صفحات معاينة مستند HTML تُصنع بأسماء ملفات ثابتة في دليل مؤقت، لذا كان عرضان في آنٍ واحد يكتبان فوق صفحات بعضهما، وتُهمل أرقام الصفحات المطلوبة. الآن تُصنع الصفحات في الذاكرة، وتُعيد فقط الصفحات المطلوبة، وتُعرض على خلفية بيضاء بدلاً من خلفية شفافة.

تم تحديث مكتبات Aspose

المكتبة قبل الآن
Aspose.BarCode 25.5 26.6
Aspose.CAD 24.6.1 26.8
Aspose.Cells 26.3 26.9
Aspose.Diagram 25.7 26.9
Aspose.Email 26.1 26.8
Aspose.PDF 26.2 26.8.1
Aspose.PSD 25.10 26.8
Aspose.Slides 26.2 26.9
Aspose.Words 26.3 26.8

المكتبات مُضمَّنة في الـ jar كما كان من قبل. Aspose.OCR 26.10.0 جديد ويأتي كاعتماد في الـ POM.

كيفية الحصول على التحديث

Maven

أضف مستودع GroupDocs والاعتماد إلى ملف pom.xml الخاص بك:

<repositories>
    <repository>
        <id>groupdocs-artifacts-repository</id>
        <name>GroupDocs Artifacts Repository</name>
        <url>https://releases.groupdocs.com/java/repo/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>26.11</version>
    </dependency>
</dependencies>

إذا لم تكن تستخدم مقارنة OCR، يمكنك استبعاد Aspose.OCR ومكتباته الأصلية:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-comparison</artifactId>
    <version>26.11</version>
    <exclusions>
        <exclusion>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-ocr</artifactId>
        </exclusion>
    </exclusions>
</dependency>

تحميل مباشر

حمّل الـ JAR من صفحة تنزيل GroupDocs.Comparison for Java 26.11.

الموارد