groupdocs comparison java – So sánh tài liệu Word bằng Java

Bạn đã từng dành hàng giờ để so sánh thủ công hai tài liệu Word, cố gắng phát hiện mọi thay đổi nhỏ nhất? Bạn không phải là người duy nhất. Dù bạn đang quản lý việc sửa đổi hợp đồng, theo dõi cập nhật nội dung, hay xử lý quy trình chỉnh sửa cộng tác, việc so sánh tài liệu thủ công tốn thời gian và dễ gây lỗi.

Với groupdocs comparison java, bạn có thể tự động hoá quy trình tẻ nhạt này trong vài giây. Thư viện xác định các khác biệt, làm nổi bật các chèn, xóa và thay đổi định dạng, và tạo ra báo cáo chuyên nghiệp mà bạn có thể chia sẻ với các bên liên quan.

Trong hướng dẫn toàn diện này, bạn sẽ khám phá cách triển khai so sánh tài liệu trong các ứng dụng Java của mình — từ cài đặt cơ bản đến các kịch bản nâng cao — để thay thế việc kiểm tra thủ công bằng tự động hoá đáng tin cậy và có thể lặp lại.

Câu trả lời nhanh

  • Thư viện nào xử lý diff Word trong Java? groupdocs comparison java
  • Tôi có thể so sánh các tệp DOCX không? Có, sử dụng tính năng java compare docx files
  • Có cần giấy phép cho môi trường production không? Yêu cầu giấy phép đầy đủ GroupDocs.Comparison
  • So sánh nhanh như thế nào? Các tài liệu nhỏ thường hoàn thành < 1 giây; tài liệu lớn có thể mất vài giây
  • Có tương thích với Maven và Gradle không? Chắc chắn, cả hai công cụ xây dựng đều được hỗ trợ

groupdocs comparison java là gì?

groupdocs comparison java là một SDK Java phân tích hai hoặc nhiều tài liệu, phát hiện các thay đổi về nội dung và cấu trúc, và tạo ra tài liệu kết quả được đánh dấu. Nó hoạt động với Word, PDF, Excel, PowerPoint và nhiều định dạng khác, cung cấp một diff trực quan rõ ràng mà các reviewer không chuyên cũng có thể hiểu.

Tại sao nên dùng groupdocs comparison java?

  • Tốc độ: Tự động hoá những gì nếu làm thủ công sẽ mất phút hoặc giờ.
  • Độ chính xác: Phát hiện ngay cả thay đổi ký tự nhỏ nhất.
  • Khả năng mở rộng: Xử lý batch hàng chục tài liệu.
  • Linh hoạt: Hỗ trợ DOCX, PDF và hơn 50 định dạng khác.

Các yêu cầu trước và những gì bạn cần

Trước khi bắt đầu triển khai, hãy chắc chắn môi trường phát triển của bạn đã sẵn sàng. Đừng lo – việc thiết lập rất đơn giản và tôi sẽ hướng dẫn từng bước.

Yêu cầu thiết yếu:

  • Java Development Kit (JDK): Phiên bản 8 trở lên (khuyến nghị JDK 11+ để hiệu năng tốt hơn)
  • Maven hoặc Gradle: Để quản lý phụ thuộc (chúng ta sẽ dùng Maven trong các ví dụ)
  • Kiến thức Java cơ bản: Hiểu về lớp, đối tượng và xử lý tệp
  • Thư viện GroupDocs.Comparison: Phiên bản 25.2 (bản phát hành ổn định mới nhất)

Cấu hình đề xuất:

  • IDE như IntelliJ IDEA hoặc Eclipse để có trải nghiệm phát triển tốt hơn
  • Ít nhất 2 GB RAM khả dụng cho việc xử lý các tài liệu lớn
  • Các tài liệu Word mẫu để thử nghiệm (chúng tôi sẽ chỉ cách tạo tệp test)

Kiểm tra nhanh môi trường: Chạy java -version trong terminal. Nếu hiển thị phiên bản 8 trở lên, bạn đã sẵn sàng!

Bây giờ chúng ta đã bao quát các kiến thức cơ bản, hãy tích hợp GroupDocs.Comparison vào dự án của bạn.

Cài đặt GroupDocs.Comparison cho Java

Nhận GroupDocs.Comparison vào dự án của bạn dễ hơn bạn nghĩ. Thư viện có sẵn qua Maven, nghĩa là không cần tải JAR thủ công hay lo lắng về classpath.

Tích hợp Maven một cách đơn giản

Thêm cấu hình này vào tệp pom.xml của bạn:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/comparison/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-comparison</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

Tại sao cấu hình này hoạt động:

  • URL repository trỏ trực tiếp tới Maven repository chính thức của GroupDocs
  • Phiên bản 25.2 là bản ổn định mới nhất với tất cả các bản sửa lỗi gần đây
  • Phụ thuộc sẽ tự động kéo tất cả các sub‑dependency cần thiết

Người dùng Gradle

Nếu bạn thích Gradle, đây là cấu hình tương đương:

repositories {
    maven { url 'https://releases.groupdocs.com/comparison/java/' }
}
dependencies {
    implementation 'com.groupdocs:groupdocs-comparison:25.2'
}

Các tùy chọn giấy phép (Quan trọng cho môi trường Production)

GroupDocs.Comparison cung cấp các tùy chọn giấy phép linh hoạt:

  • Dùng thử miễn phí: Phù hợp để đánh giá – bao gồm đầy đủ chức năng với một số hạn chế nhỏ
  • Giấy phép tạm thời: Lý tưởng cho giai đoạn thử nghiệm kéo dài hoặc phát triển proof‑of‑concept
  • Giấy phép đầy đủ: Yêu cầu cho các ứng dụng production – loại bỏ mọi hạn chế

Mẹo chuyên nghiệp: Bắt đầu với bản dùng thử miễn phí để làm quen với API. Chức năng hoàn toàn giống bản đầy đủ, vì vậy công việc phát triển của bạn sẽ không bị lãng phí.

Khi các phụ thuộc đã được giải quyết và dự án của bạn biên dịch thành công, bạn đã sẵn sàng triển khai chức năng so sánh tài liệu.

Hướng dẫn triển khai từng bước

Bây giờ là phần thú vị – thực sự so sánh tài liệu! Tôi sẽ hướng dẫn bạn qua từng bước kèm giải thích chi tiết, để bạn không chỉ biết “cách làm” mà còn hiểu “tại sao” mỗi quyết định được đưa ra.

Bước 1: Khởi tạo đối tượng Comparer

Mọi quá trình so sánh tài liệu bắt đầu bằng việc tạo một đối tượng Comparer. Hãy nghĩ đây là việc thiết lập không gian làm việc trước khi bắt đầu so sánh thực tế.

import com.groupdocs.comparison.Comparer;

public class CompareDocuments {
    public static void main(String[] args) throws Exception {
        // Initialize the Comparer with a source document
        try (Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source.docx")) {
            // The rest of our code will go here
        }
    }
}

Giải thích:

  • Sử dụng khối try‑with‑resources để đảm bảo giải phóng tài nguyên đúng cách
  • Tài liệu nguồn đóng vai trò “cơ sở” – mọi thay đổi sẽ được đo lường so với nó
  • Thay "YOUR_DOCUMENT_DIRECTORY" bằng đường dẫn thực tế tới các tài liệu của bạn

Lưu ý thường gặp: Đảm bảo đường dẫn tệp đúng! Dùng đường dẫn tuyệt đối nếu không chắc, hoặc kiểm tra lại đường dẫn tương đối từ thư mục làm việc của ứng dụng.

Bước 2: Thêm tài liệu mục tiêu để so sánh

Tiếp theo, chúng ta chỉ định tài liệu (các) mà muốn so sánh với tài liệu nguồn. Đây là lúc phép màu bắt đầu!

// Add a target document for comparison
comparer.add("YOUR_DOCUMENT_DIRECTORY/target1.docx");

Tại sao bước này quan trọng:

  • Tài liệu mục tiêu chứa các thay đổi bạn muốn xác định
  • Bạn thực sự có thể thêm nhiều tài liệu mục tiêu nếu cần (rất hữu ích khi so sánh nhiều phiên bản)
  • Thư viện sẽ phân tích sự khác biệt giữa nguồn và tất cả các tài liệu mục tiêu

Sử dụng nâng cao: Cần so sánh với nhiều tài liệu? Không vấn đề:

comparer.add("YOUR_DOCUMENT_DIRECTORY/target1.docx");
comparer.add("YOUR_DOCUMENT_DIRECTORY/target2.docx");
// Add as many as needed

Bước 3: Thực hiện so sánh và tạo kết quả

Đây là phần thực hiện công việc nặng. Thư viện phân tích cả hai tài liệu và tạo ra báo cáo so sánh toàn diện.

// Compare documents and output the result
final Path resultPath = comparer.compare("YOUR_OUTPUT_DIRECTORY/compare_result.docx");

Bạn sẽ nhận được:

  • Một tài liệu Word mới hiển thị tất cả các khác biệt được đánh dấu
  • Văn bản bị xóa được đánh dấu rõ ràng (thường là gạch ngang)
  • Văn bản được chèn được tô sáng (thường bằng màu khác)
  • Các phần đã sửa đổi được chỉ ra một cách rõ ràng

Tài liệu so sánh được tạo không chỉ là một diff đơn giản – đó là một báo cáo cấp chuyên nghiệp mà bạn có thể chia sẻ với các bên liên quan, đưa vào tài liệu, hoặc dùng cho mục đích kiểm toán.

Ví dụ làm việc hoàn chỉnh

Dưới đây là triển khai đầy đủ mà bạn có thể sao chép và chạy:

import com.groupdocs.comparison.Comparer;
import java.nio.file.Path;

public class DocumentComparisonDemo {
    public static void main(String[] args) {
        try {
            // Set up your document paths
            String sourceDoc = "path/to/your/source.docx";
            String targetDoc = "path/to/your/target.docx";
            String outputDoc = "path/to/your/output/comparison_result.docx";
            
            // Perform the comparison
            try (Comparer comparer = new Comparer(sourceDoc)) {
                comparer.add(targetDoc);
                Path resultPath = comparer.compare(outputDoc);
                
                System.out.println("Comparison completed successfully!");
                System.out.println("Result saved to: " + resultPath.toString());
            }
            
        } catch (Exception e) {
            System.err.println("Error during comparison: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Khắc phục các vấn đề thường gặp

Vấn đề: FileNotFoundException
Giải pháp: Kiểm tra lại đường dẫn tệp và đảm bảo tài liệu tồn tại. Dùng File.exists() để xác minh trước khi so sánh.

Vấn đề: OutOfMemoryError với tài liệu lớn
Giải pháp: Tăng kích thước heap JVM bằng cách dùng -Xmx2g hoặc cao hơn trong cấu hình chạy.

Vấn đề: Kết quả so sánh không như mong đợi
Giải pháp: Đảm bảo cả hai tài liệu đều là tệp Word hợp lệ và không bị hỏng. Hãy thử mở chúng trong Microsoft Word trước.

Khi bạn đã có so sánh cơ bản hoạt động, hãy khám phá những nơi mà chức năng này thực sự tỏa sáng trong các ứng dụng thực tế.

Ứng dụng thực tế và các trường hợp sử dụng

So sánh tài liệu không chỉ là tính năng “nice‑to‑have” – nó là yếu tố thay đổi cuộc chơi trong nhiều kịch bản kinh doanh. Dưới đây là một số ứng dụng thực tiễn mà chức năng này có thể tiết kiệm hàng giờ công việc thủ công.

1. Quản lý hợp đồng và đánh giá pháp lý

Thách thức: Các công ty luật và doanh nghiệp cần theo dõi các thay đổi qua các phiên bản hợp đồng, đảm bảo không có nội dung quan trọng bị bỏ sót hoặc thay đổi nhầm.

Cách GroupDocs hỗ trợ:

  • Tự động làm nổi bật mọi thay đổi giữa các phiên bản hợp đồng
  • Tạo báo cáo chuyên nghiệp cho khách hàng xem xét
  • Giảm thời gian rà soát pháp lý xuống 70‑80%
  • Loại bỏ lỗi con người trong việc phát hiện thay đổi

Mẹo triển khai: Xây dựng hệ thống batch tự động so sánh nhiều phiên bản hợp đồng khi bản nháp mới được tải lên.

2. Quản lý nội dung và quy trình xuất bản

Kịch bản: Các đội xuất bản cần xem xét cập nhật nội dung trước khi phát hành, đảm bảo chất lượng và tính nhất quán.

Lợi ích:

  • Tinh giản quy trình đánh giá biên tập
  • Theo dõi thay đổi của các cộng tác viên trong dự án hợp tác
  • Duy trì tiêu chuẩn chất lượng nội dung
  • Tự động hoá các kiểm tra trước khi xuất bản

3. Kiểm soát phiên bản cho các nhóm không kỹ thuật

Vấn đề: Không phải ai cũng sử dụng Git hoặc hiểu về kiểm soát phiên bản kỹ thuật, nhưng họ vẫn cần theo dõi thay đổi tài liệu.

Giải pháp:

  • Cung cấp giao diện trực quan, dễ hiểu cho việc theo dõi thay đổi
  • Cho phép các bên không kỹ thuật xem xét các sửa đổi
  • Tạo ra chuỗi audit trail cho yêu cầu tuân thủ
  • Đơn giản hoá quy trình phê duyệt

4. Đảm bảo chất lượng trong tài liệu kỹ thuật

Trường hợp sử dụng: Các đội viết tài liệu kỹ thuật duy trì hướng dẫn sử dụng, tài liệu API, hoặc tài liệu tuân thủ.

Giá trị mang lại:

  • Đảm bảo độ chính xác khi cập nhật tài liệu
  • Duy trì tính nhất quán trong thuật ngữ kỹ thuật
  • Tăng tốc vòng đời đánh giá
  • Giảm lỗi trong tài liệu

Các khả năng tích hợp

Xem xét tích hợp so sánh tài liệu với:

  • Hệ thống quản lý tài liệu: Tự động so sánh phiên bản khi tệp mới được tải lên
  • Tự động hoá quy trình làm việc: Kích hoạt báo cáo so sánh như một phần của quy trình phê duyệt
  • Hệ thống thông báo: Cảnh báo các bên liên quan khi phát hiện thay đổi đáng kể
  • Giám sát tuân thủ: Theo dõi thay đổi cho báo cáo quy định

Tính linh hoạt của việc so sánh tài liệu bằng chương trình mở ra vô số khả năng cải thiện quy trình kinh doanh.

Tối ưu hoá hiệu năng và các thực tiễn tốt nhất

Khi bạn triển khai so sánh tài liệu trong môi trường production, hiệu năng trở thành yếu tố then chốt. Dưới đây là các chiến lược đã được chứng minh để đảm bảo triển khai của bạn chạy mượt mà, ngay cả khi tải nặng.

Quản lý bộ nhớ cho tài liệu lớn

Thách thức: Các tài liệu Word lớn (trên 50 trang) có thể tiêu tốn đáng kể bộ nhớ trong quá trình so sánh.

Giải pháp:

  • Tinh chỉnh JVM: Cấp phát đủ heap memory bằng -Xmx4g hoặc cao hơn
  • Xử lý streaming: Đối với tài liệu cực lớn, cân nhắc chia thành các phần
  • Garbage Collection: Sử dụng G1 GC để quản lý bộ nhớ hiệu quả hơn

Ví dụ mã cho so sánh chú ý tới bộ nhớ:

// Configure JVM options for better performance
// -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200

try (Comparer comparer = new Comparer(sourceDocument)) {
    comparer.add(targetDocument);
    
    // Process comparison with explicit memory management
    System.gc(); // Suggest garbage collection before intensive operation
    Path result = comparer.compare(outputDocument);
    
    // Clear references to help garbage collection
    comparer = null;
    System.gc();
}

Chiến lược xử lý batch

Khi so sánh nhiều cặp tài liệu:

Xử lý tuần tự (đơn giản nhưng chậm hơn):

for (DocumentPair pair : documentPairs) {
    try (Comparer comparer = new Comparer(pair.getSource())) {
        comparer.add(pair.getTarget());
        comparer.compare(pair.getOutputPath());
    }
}

Xử lý song song (nhanh hơn nhưng tiêu tốn bộ nhớ):

documentPairs.parallelStream().forEach(pair -> {
    try (Comparer comparer = new Comparer(pair.getSource())) {
        comparer.add(pair.getTarget());
        comparer.compare(pair.getOutputPath());
    } catch (Exception e) {
        // Handle exceptions appropriately
        logger.error("Comparison failed for: " + pair.getSource(), e);
    }
});

Mẹo giám sát hiệu năng

Các chỉ số quan trọng cần theo dõi:

  • Thời gian so sánh theo kích thước tài liệu
  • Mẫu sử dụng bộ nhớ
  • Tỷ lệ thành công/ thất bại
  • Thời gian xử lý hàng đợi (nếu dùng async)

Ví dụ triển khai:

long startTime = System.currentTimeMillis();
long startMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();

try (Comparer comparer = new Comparer(sourceDoc)) {
    comparer.add(targetDoc);
    Path result = comparer.compare(outputDoc);
    
    long endTime = System.currentTimeMillis();
    long endMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
    
    System.out.println("Comparison completed in: " + (endTime - startTime) + "ms");
    System.out.println("Memory used: " + (endMemory - startMemory) / 1024 / 1024 + "MB");
}

Cập nhật thư viện và bảo trì

Cập nhật thường xuyên: GroupDocs thường phát hành các bản cập nhật với cải tiến hiệu năng và sửa lỗi. Hãy cập nhật phụ thuộc ít nhất mỗi quý:

<!-- Check for updates regularly -->
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-comparison</artifactId>
    <version>25.2</version> <!-- Keep this current -->
</dependency>

Áp dụng các thực tiễn này sẽ giúp hệ thống so sánh tài liệu của bạn luôn nhanh và đáng tin cậy khi quy mô sử dụng tăng lên.

Cấu hình nâng cao và tùy chỉnh

Mặc dù chức năng so sánh cơ bản hoạt động tốt ngay từ đầu, GroupDocs.Comparison còn cung cấp các tùy chọn tùy chỉnh mạnh mẽ cho phép bạn điều chỉnh hành vi sao cho phù hợp với nhu cầu cụ thể.

Tùy chỉnh cài đặt so sánh

Tại sao cần tùy chỉnh? Các trường hợp sử dụng khác nhau đòi hỏi cách tiếp cận khác nhau. Tài liệu pháp lý cần độ nhạy cao hơn so với việc xem xét nội dung thông thường.

Ví dụ – So sánh độ nhạy cao:

import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.style.DetalisationLevel;

CompareOptions compareOptions = new CompareOptions();
compareOptions.setDetalisationLevel(DetalisationLevel.High);
compareOptions.setShowDeletedContent(true);
compareOptions.setShowInsertedContent(true);

try (Comparer comparer = new Comparer("source.docx")) {
    comparer.add("target.docx");
    comparer.compare("detailed_result.docx", compareOptions);
}

Tùy chọn định dạng đầu ra

Kiểm soát cách các khác biệt xuất hiện trong tài liệu kết quả:

  • Bảng màu: Tùy chỉnh màu highlight
  • Chỉ báo thay đổi: Chọn cách đánh dấu chèn và xóa
  • Báo cáo tóm tắt: Bao gồm thống kê tổng quan về các thay đổi

Thực tiễn xử lý lỗi

Ví dụ xử lý lỗi mạnh mẽ:

public class DocumentComparisonService {
    
    public ComparisonResult compareDocuments(String source, String target, String output) {
        try {
            validateInputs(source, target);
            
            try (Comparer comparer = new Comparer(source)) {
                comparer.add(target);
                Path resultPath = comparer.compare(output);
                
                return new ComparisonResult(true, resultPath.toString(), "Success");
            }
            
        } catch (FileNotFoundException e) {
            return new ComparisonResult(false, null, "Document not found: " + e.getMessage());
        } catch (Exception e) {
            return new ComparisonResult(false, null, "Comparison failed: " + e.getMessage());
        }
    }
    
    private void validateInputs(String source, String target) throws IllegalArgumentException {
        if (!new File(source).exists()) {
            throw new IllegalArgumentException("Source document does not exist: " + source);
        }
        if (!new File(target).exists()) {
            throw new IllegalArgumentException("Target document does not exist: " + target);
        }
    }
}

Cách tiếp cận này giúp ứng dụng của bạn xử lý lỗi một cách nhẹ nhàng và cung cấp phản hồi có ý nghĩa cho người dùng.

Câu hỏi thường gặp

Tôi có thể so sánh hơn hai tài liệu đồng thời không?

Chắc chắn! GroupDocs.Comparison hỗ trợ nhiều tài liệu mục tiêu so với một nguồn duy nhất. Chỉ cần gọi comparer.add() nhiều lần:

try (Comparer comparer = new Comparer("source.docx")) {
    comparer.add("version1.docx");
    comparer.add("version2.docx");
    comparer.add("version3.docx");
    comparer.compare("multi_comparison_result.docx");
}

Điều này đặc biệt hữu ích để theo dõi thay đổi qua nhiều phiên bản hoặc so sánh đóng góp của các thành viên khác nhau.

GroupDocs.Comparison hỗ trợ những định dạng tệp nào ngoài Word?

GroupDocs.Comparison làm việc với hơn 50 định dạng, bao gồm:

  • Tài liệu: DOCX, DOC, PDF, RTF, TXT
  • Bảng tính: XLSX, XLS, CSV
  • Bản trình chiếu: PPTX, PPT
  • Hình ảnh: PNG, JPEG, BMP, TIFF
  • Web: HTML, MHT
  • Email: EML, MSG

API giữ nguyên nhất quán trên mọi định dạng, vì vậy kỹ năng của bạn sẽ dễ dàng chuyển sang.

Làm sao xử lý tài liệu được bảo vệ bằng mật khẩu?

GroupDocs.Comparison có thể làm việc với tài liệu bảo mật bằng cách chỉ định mật khẩu trong quá trình khởi tạo:

LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("your_password");

try (Comparer comparer = new Comparer("protected_source.docx", loadOptions)) {
    // Add target document (also protected)
    LoadOptions targetOptions = new LoadOptions();
    targetOptions.setPassword("target_password");
    comparer.add("protected_target.docx", targetOptions);
    
    comparer.compare("comparison_result.docx");
}

Tác động hiệu năng đối với tài liệu lớn như thế nào?

Hiệu năng phụ thuộc vào kích thước và độ phức tạp của tài liệu:

  • Tài liệu nhỏ (< 10 trang): So sánh dưới một giây
  • Tài liệu trung bình (10‑50 trang): Thường 2‑10 giây
  • Tài liệu lớn (trên 50 trang): Có thể cần > 30 giây và bộ nhớ bổ sung

Mẹo tối ưu:

  • Cấp phát đủ heap JVM (4 GB+ cho tài liệu lớn)
  • Sử dụng ổ SSD để tăng tốc I/O
  • Xem xét phân đoạn tài liệu cho các tệp cực lớn

Tôi có thể tích hợp với Spring Boot hoặc các framework Java khác không?

Chắc chắn! GroupDocs.Comparison tích hợp liền mạch với bất kỳ framework Java nào. Dưới đây là ví dụ dịch vụ Spring Boot:

@Service
public class DocumentComparisonService {
    
    @Autowired
    private DocumentRepository documentRepository;
    
    public String compareDocuments(Long sourceId, Long targetId) {
        Document source = documentRepository.findById(sourceId).orElseThrow();
        Document target = documentRepository.findById(targetId).orElseThrow();
        
        try (Comparer comparer = new Comparer(source.getFilePath())) {
            comparer.add(target.getFilePath());
            String outputPath = generateOutputPath(sourceId, targetId);
            comparer.compare(outputPath);
            return outputPath;
        } catch (Exception e) {
            throw new DocumentComparisonException("Failed to compare documents", e);
        }
    }
}

Làm sao tùy chỉnh giao diện kết quả so sánh?

GroupDocs cung cấp nhiều tùy chọn style:

CompareOptions options = new CompareOptions();
options.setInsertedItemStyle(new StyleSettings());
options.getInsertedItemStyle().setFontColor(Color.BLUE);
options.getInsertedItemStyle().setHighlightColor(Color.LIGHT_GRAY);

options.setDeletedItemStyle(new StyleSettings());
options.getDeletedItemStyle().setFontColor(Color.RED);
options.getDeletedItemStyle().setStrikethrough(true);

comparer.compare("styled_result.docx", options);

Bạn có thể đồng bộ với tiêu chuẩn tài liệu của tổ chức hoặc tạo báo cáo so sánh theo phong cách riêng.

Tài nguyên bổ sung


Cập nhật lần cuối: 2026-02-16
Đã kiểm tra với: GroupDocs.Comparison 25.2 for Java
Tác giả: GroupDocs