مقایسه اسناد Word و هایلایت تفاوت‌ها با استفاده از Java

شما می‌توانید به راحتی دو یا چند سند Word را مقایسه کرده و تفاوت‌ها را به‌صورت برنامه‌نویسی هایلایت کنید. ممکن است نیاز داشته باشید چندین نسخه از یک فایل Word مشابه یا فایل‌های مختلف را برای تفاوت‌ها و شباهت‌ها در برنامه Java خود مقایسه کنید. در این مقاله، شما یاد خواهید گرفت که چگونه دو یا چند سند Word را مقایسه کرده و تفاوت‌ها را با استفاده از Java هایلایت کنید.

موضوعات زیر در این مقاله مورد بحث/پوشش قرار گرفته‌اند:

API Java برای مقایسه اسناد ورد

من از GroupDocs.Comparison for Java API برای مقایسه DOCX اسناد استفاده خواهم کرد. این ابزار برای شناسایی تغییرات محتوا در کلمات، پاراگراف‌ها و کاراکترها مقایسه می‌کند و یک سند مقایسه‌ای را ارائه می‌دهد که خلاصه‌ای از تفاوت‌ها را فهرست می‌کند. همچنین به شما این امکان را می‌دهد که تغییرات و تفاوت‌ها در سبک متن را بین فرمت‌های سند مشابه شناسایی کنید. این API از مقایسه تمام فرمت‌های سند استاندارد صنعتی مانند PDF، HTML، Word، Excel، PowerPoint، ایمیل‌های Outlook، نمودارهای Visio، OpenDocument، AutoCAD و تصاویر پشتیبانی می‌کند.

شما می‌توانید download JAR API را دریافت کنید یا فقط پیکربندی pom.xml زیر را در برنامه Java مبتنی بر Maven خود اضافه کنید تا کدهای مثال زیر را امتحان کنید.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>21.6</version> 
</dependency>

مقایسه اسناد ورد با استفاده از Java

شما می‌توانید دو یا چند سند Word را با دنبال کردن مراحل ساده زیر مقایسه کنید:

  1. یک نمونه از کلاس Comparer ایجاد کنید.
  2. مسیر فایل DOCX منبع را به سازنده ارائه دهید
  3. اضافه کردن فایل DOCX هدف به مقایسه
  4. متد Compare() را همراه با مسیر فایل خروجی فراخوانی کنید.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان اسناد Word را مقایسه کرده و تفاوت‌ها را با استفاده از Java هایلایت کرد.

// initialize comparer
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// add target file
comparer.add("C:\\Files\\target.docx");

// مقایسه و ذخیره نتایج مقایسه
comparer.compare("C:\\Files\\result.docx");
سندهای Word منبع و هدف

مدارک منبع و هدف

مقایسه دو سند ورد با استفاده از جاوا

مقایسه دو سند ورد با استفاده از جاوا

سند حاصل همچنین شامل یک صفحه خلاصه در انتهای سند است. این صفحه خلاصه‌ای از تمام تغییرات را نشان می‌دهد.

کلاس Comparer کلاس اصلی است که فرآیند مقایسه اسناد را کنترل می‌کند. متد Compare() این کلاس اسناد منبع و هدف را مقایسه می‌کند. این متد نتایج را به مسیری که به عنوان پارامتر ورودی ارائه شده است، ذخیره می‌کند. متد Add() این کلاس، یک فایل را به فرآیند مقایسه اضافه می‌کند. شما می‌توانید به سادگی چندین فایل را با استفاده از متد Add() همانطور که در زیر نشان داده شده است، به مقایسه اضافه کنید:

comparer.Add("target2.docx");
comparer.Add("target3.docx");

متن تغییرات را با استفاده از Java دریافت کنید

شما می‌توانید متن تغییرات را به صورت برنامه‌نویسی با دنبال کردن مراحل ساده زیر دریافت کنید:

  1. یک نمونه از کلاس Comparer ایجاد کنید.
  2. مسیر فایل DOCX منبع را به سازنده ارائه دهید
  3. Add فایل هدف DOCX را به مقایسه اضافه کنید
  4. Call the Compare() method
  5. Call the getChanges() method and get the details of changes
  6. Show the changes

کد نمونه زیر نشان می‌دهد که چگونه می‌توان متن تغییرات را با استفاده از Java دریافت کرد.

// initialize comparer
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// add target file
comparer.add("C:\\Files\\target.docx");

// compare
final Path resultPath = comparer.compare();

// get changes
ChangeInfo[] changes = comparer.getChanges();
System.out.println("Count of changes: " + changes.length);

for (ChangeInfo change : changes) {
    System.out.printf("Change Type: %d, Text: %s%n", change.getType(), change.getText());
}
Count of changes: 10
Change Type: 2, Text: 
Change Type: 2, Text:  Company  HYPERLINK "http://www.aspose.com/" Aspose Pty Ltd Division GroupDocs 
Change Type: 2, Text: 
Change Type: 2, Text: Cool 
Change Type: 3, Text: test 
Change Type: 2, Text:  
Change Type: 2, Text: signatures
Change Type: 2, Text: Our 
Change Type: 2, Text: char&#091;
Change Type: 2, Text: 255] 

شما می‌توانید با فراخوانی متد getChanges() از کلاس Comparer، فهرستی از تغییرات بین فایل‌های منبع و هدف را دریافت کنید. این متد فهرستی از اشیاء ChangeInfo را برمی‌گرداند. کلاس ChangeInfo متدهایی را برای دریافت جزئیات تغییرات فراهم می‌کند، مانند getText() برای دریافت متن یک تغییر خاص.

مقایسه نشانک‌ها در مدارک ورد

شما می‌توانید نشانک‌های موجود در اسناد Word را به‌صورت برنامه‌نویسی با دنبال کردن مراحل ساده زیر مقایسه کنید:

  1. یک نمونه از کلاس Comparer ایجاد کنید
  2. مسیر فایل DOCX منبع را به سازنده ارائه دهید
  3. اضافه کردن فایل DOCX هدف به مقایسه
  4. یک نمونه از CompareOptions ایجاد کنید.
  5. Set the CompareBookmarks to true
  6. Call the Compare() method along with the output file path and CompareOptions object

نمونه کد زیر نشان می‌دهد که چگونه نشانه‌گذاری‌ها را در اسناد ورد با استفاده از Java مقایسه کنیم.

// initialize comparer
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// add target file
comparer.add("C:\\Files\\target.docx");

// تعریف گزینه‌های مقایسه
CompareOptions compareOptions = new CompareOptions();
compareOptions.setCompareBookmarks(true);

// مقایسه و ذخیره نتایج مقایسه
comparer.compare("C:\\Files\\result.docx", compareOptions);
مقایسه نشانک‌ها در اسناد ورد با استفاده از جاوا

مقایسه بوک‌مارک‌ها در اسناد ورد با استفاده از جاوا

شما می‌توانید فرآیند مقایسه خود را با استفاده از گزینه‌های مختلف مقایسه بهبود بخشید. به این منظور، کلاس CompareOptions به شما این امکان را می‌دهد که گزینه‌های مقایسه مختلفی را با ارائه روش‌های متنوع تنظیم کنید. روش setCompareBookmarks() به شما این امکان را می‌دهد که کتابخانه‌های موجود در اسناد منبع و هدف را مقایسه کنید.

یک مجوز رایگان دریافت کنید

شما می‌توانید بدون محدودیت‌های ارزیابی، API را با درخواست یک سالنامه موقت رایگان امتحان کنید.

نتیجه گیری

در این مقاله، شما یاد گرفته‌اید که چگونه دو یا چند مستند ورد را مقایسه کرده و تفاوت‌ها را با استفاده از Java هایلایت کنید. همچنین یاد گرفته‌اید که چگونه متن تغییرات هایلایت شده را دریافت کنید. علاوه بر این، شما یاد گرفته‌اید که چگونه به طور برنامه‌نویسی بوک‌مارک‌ها را در مستندات ورد مقایسه کنید. می‌توانید بیشتر در مورد GroupDocs.Comparison برای API Java با استفاده از documentation یاد بگیرید. در صورت هرگونه ابهام، لطفاً در ارتباط با ما در forum آزاد باشید.

به همچنین مشاهده کنید