يتم إجراء مقارنة مستندات MS Word لمعرفة الفرق بين نسختين من المستند. يوفر MS Word خيارًا مدمجًا لمقارنة محتوى وثيقتين. ومع ذلك ، مع زيادة عدد المستندات ، يصبح من الصعب إجراء مقارنة المستندات يدويًا. من أجل أتمتة هذه العملية ، تتناول هذه المقالة كيفية مقارنة وثيقتين MS Word (DOC / DOCX) باستخدام Java.
- واجهة برمجة تطبيقات مقارنة مستندات MS Word لـ Java
- قارن مستندات MS Word باستخدام Java
- تجاهل التنسيق في مقارنة مستندات MS Word
- حدد الوثيقة المستهدفة لاختلافات المقارنة
- اضبط الدقة لمقارنة مستندات MS Word
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.
- قم بتحميل المستندات المراد مقارنتها باستخدام فئة Document.
- قم باستدعاء طريقة Document.compare (مستند ، سلسلة ، تاريخ) لمقارنة المستند بالمستند الذي تم تمريره كوسيطة.
يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة وثيقتين 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.
- قم بتحميل المستندات المراد مقارنتها باستخدام فئة Document.
- قم بإنشاء كائن من فئة CompareOptions.
- قم بتعيين CompareOptions.setIgnoreFormatting (صواب).
- قارن المستندات باستخدام طريقة Document.compare (مستند ، سلسلة ، تاريخ ، خيارات المقارنة).
يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة مستندات 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 لجافا.