قارن مستندات الكلمات في جافا

يتم إجراء مقارنة مستندات MS Word لمعرفة الفرق بين نسختين من المستند. يوفر MS Word خيارًا مدمجًا لمقارنة محتوى وثيقتين. ومع ذلك ، مع زيادة عدد المستندات ، يصبح من الصعب إجراء مقارنة المستندات يدويًا. من أجل أتمتة هذه العملية ، تتناول هذه المقالة كيفية مقارنة وثيقتين MS Word (DOC / DOCX) باستخدام Java.

Java API لمقارنة مستندات MS Word

Aspose.Words for Java هي واجهة برمجة تطبيقات قوية لمعالجة المستندات تتيح لك إنشاء مستندات MS Word وقراءتها وتعديلها وتحويلها. بالإضافة إلى ذلك ، يسمح لك بمقارنة مستندين من مستندات Word مع مراعاة أو تجاهل تنسيق المحتوى. يمكنك تنزيل واجهة برمجة التطبيقات أو تثبيتها باستخدام تكوينات مافن.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.9</version>
    <classifier>jdk17</classifier>
</dependency>

قارن مستندات MS Word باستخدام Java

فيما يلي خطوات إجراء مقارنة بسيطة بين مستندات Word باستخدام Aspose.Words for Java API.

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة وثيقتين MS Word باستخدام Java.

Document docA = new Document(dataDir + "DocumentA.doc");
Document docB = new Document(dataDir + "DocumentB.doc");
docA.compare(docB, "user", new Date()); // docA now contains changes as revisions

مقارنة مستندات Java Word - تجاهل التنسيق

قد تكون هناك حالة عندما يكون للمستندات تنسيق مختلف مطبق على المحتوى. في مثل هذه الحالات ، تفضل مقارنة النص فقط مع تجاهل التنسيق والرؤوس / التذييلات والحواشي السفلية والجداول والتعليقات وما إلى ذلك. فيما يلي الخطوات لتجاهل تنسيق المستند عند مقارنة وثيقتين MS Word.

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة مستندات MS Word مع تجاهل تنسيق المحتوى باستخدام Java.

// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-words/Aspose.Words-for-Java
String dataDir = Utils.getDataDir(CompareTwoWordDocumentswithCompareOptions.class);

com.aspose.words.Document docA = new com.aspose.words.Document(dataDir + "DocumentA.doc");
com.aspose.words.Document docB = new com.aspose.words.Document(dataDir + "DocumentB.doc");

com.aspose.words.CompareOptions options = new com.aspose.words.CompareOptions();
options.setIgnoreFormatting(true);
options.setIgnoreHeadersAndFooters(true);
options.setIgnoreCaseChanges(true);
options.setIgnoreTables(true);
options.setIgnoreFields(true);
options.setIgnoreComments(true);
options.setIgnoreTextboxes(true);
options.setIgnoreFootnotes(true);

// يحتوي DocA الآن على تغييرات كمراجعات.
docA.compare(docB, "user", new Date(), options);
if (docA.getRevisions().getCount() == 0)
    System.out.println("Documents are equal");
else
    System.out.println("Documents are not equal");

قم بتعيين مستند Word الهدف لاختلافات المقارنة

يتيح لك Aspose.Words for Java أيضًا تحديد مستند Word المصدر أثناء المقارنة. لهذا ، يمكنك استخدام خاصية CompareOptions.setTarget() التي تتعلق بخيار “إظهار التغييرات في” MS Word. يُظهر نموذج التعليمات البرمجية التالي كيفية تحديد المستند الهدف في المقارنة.

Document docA = new Document(dataDir + "TestFile.doc");
Document docB = new Document(dataDir + "TestFile - Copy.doc");

CompareOptions options = new CompareOptions();
options.setIgnoreFormatting(true);
// يتعلق بخيار "إظهار التغييرات في" Microsoft Word في مربع الحوار "مقارنة المستندات".
options.setTarget(ComparisonTargetType.NEW);

docA.compare(docB, "user", new Date(), options);

قم بتعيين الدقة لمقارنة ملفات Word في Java

يمكنك أيضًا تعيين درجة دقة التغييرات عند مقارنة مستندين من مستندات MS Word. يمكن القيام بذلك باستخدام خاصية CompareOptions.setGranularity(). فيما يلي خيارات الدقة الممكنة.

يوضح نموذج التعليمات البرمجية التالي كيفية تعيين الدقة عند مقارنة مستندات MS Word باستخدام Java.

DocumentBuilder builderA = new DocumentBuilder(new Document());
DocumentBuilder builderB = new DocumentBuilder(new Document());

builderA.writeln("This is A simple word");
builderB.writeln("This is B simple words");

CompareOptions co = new CompareOptions();
co.setGranularity(Granularity.CHAR_LEVEL);

builderA.getDocument().compare(builderB.getDocument(), "author", new Date(), co);

استنتاج

في هذه المقالة ، رأيت كيفية مقارنة مستندين من مستندات MS Word في سيناريوهات مختلفة باستخدام Java. يمكنك استكشاف المزيد حول Aspose.Words لجافا باستخدام التوثيق.

حاول مجانا

تقدم Aspose ترخيصًا مؤقتًا لتجربة واجهات برمجة التطبيقات الخاصة بها مجانًا. يمكنك الحصول على تقييمك لـ Aspose.Words لجافا.

أنظر أيضا

تحويل DOC / DOCX إلى JPG في C# .NETتحويل DOC / DOCX إلى JPG في جافاتحويل DOC / DOCX إلى PNG في C# .NET
تحويل DOC / DOCX إلى PNG في جافاتحويل DOCX إلى HTML في C#تحويل DOCX إلى TXT في Python
دمج مستندات MS Word باستخدام Javaإنشاء مستندات Rich Word في JavaMS Word DOC / DOCX إلى PDF في جافا
PNG إلى Word في C# .NETJPG إلى Word في C# .NETصورة إلى Word في C#
Word إلى HTML في C#Word DOCX إلى Markdown في Javaاستخراج الصور من Word DOC في Java
مستند Word إلى Markdown في JavaWord DOC DOCX to Markdown in C#استخراج نص من مستندات Word في جافا
دمج مستندات MS Word باستخدام C# .NETWord DOC إلى PNG أو JPEG أو BMP أو GIF أو TIFF في C#Word DOC إلى PNG أو JPEG أو BMP أو GIF أو TIFF في Java