我們之前討論過如何用 Java 比較兩個受密碼保護的 PDF 文檔。但是如果我們想要比較的不僅僅是兩個文件呢?好吧,今天我們將學習如何做到這一點!我們還將學習如何接受或拒絕文檔中的更改以獲得我們想要的最終版本。

最近的簡短系列文章已經涵蓋了 Java 如何:
如果您對在線比較 PDF 文件 感興趣,請訪問由 GroupDocs 提供支持的在線 PDF 文件比較工具。
到本文結束時,您還將很好地了解如何:
在我們開始之前,讓我們確保我們的開發環境已經準備就緒。
用於比較兩個或多個 PDF 文件的 Java 庫
相信您現在已經熟悉了文檔比較 Java API。我將使用相同的 GroupDocs.Comparison for Java 繼續前進。您可以使用以下配置下載 或快速檢查基於 maven 的應用程序的開發環境:
<repository>
<id>groupdocs-artifacts-repository</id>
<name>GroupDocs Artifacts Repository</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-comparison</artifactId>
<version>23.3</version>
</dependency>
現在,讓我們繼續討論真正的東西!
使用 Java 比較兩個以上的 PDF 文件
比較多個文件與只比較兩個文件非常相似。我們所要做的就是將更多文件添加到比較器,然後像往常一樣點擊比較。以下是比較多個 PDF 文檔並突出顯示已識別更改的步驟:
- 使用 Comparer 類加載第一個 PDF 文件。
- 使用 add 方法添加要與 Comparer 進行比較的任何其他文檔。
- 使用比較方法比較所有後續的 PDF 文件,並獲得差異的更改和摘要。
以下示例顯示瞭如何在 Java 中比較多個 PDF 文件並在生成的文檔中獲取更改。
// 使用 Java 比較多個 PDF 文檔
Comparer comparer = new Comparer("path/document-1.pdf");
comparer.add("path/document-2.pdf");
comparer.add("path/document-3.pdf");
comparer.add("path/document-4.pdf");
comparer.compare("path/multiple-pdf-comparison-result.pdf");
使用 Java 比較並接受或拒絕 PDF 文件的已識別更改
與 Microsoft Word 中的“跟踪更改”功能非常相似,也可以通過編程接受或拒絕 PDF 文檔中檢測到的每個更改。下面的步驟演示瞭如何比較然後接受或拒絕 PDF 文檔中已識別的更改。
- 使用 Comparer 類加載源和目標 PDF 文件。
- 使用比較方法比較加載的文檔。
- 使用 getChanges 方法獲取標識的更改。
- 現在遍歷更改並設置適當的 ComparisonAction。
- 選擇接受以採用更改
- 選擇拒絕以拒絕更改。
- 調用 applyChanges 方法以獲取包含已接受更改的結果文檔。
以下代碼片段比較兩個 PDF 文檔,然後接受一個已識別的更改,然後使用 Java 拒絕另一個文檔。
// 通過使用 Java 比較 PDF 文檔來接受和拒絕已識別的更改
Comparer comparer = new Comparer("path/document-1.pdf");
comparer.add("path/document-2.pdf");
ChangeInfo[] changes = comparer.getChanges();
changes[0].setComparisonAction(ComparisonAction.REJECT);
changes[1].setComparisonAction(ComparisonAction.ACCEPT);
comparer.applyChanges("path/accept-reject-change.pdf", new ApplyChangeOptions(changes));
獲取免費的 API 許可證
您可以 獲得免費的臨時許可證 來使用沒有評估限制的 API 來比較多個 PDF 文檔。
構建您自己的 PDF 比較應用程序
以下是一些重要鏈接,可幫助您構建自己的文檔比較應用程序。
特點 | 文檔 | API 參考 | 運行示例 - GitHub | 免費支持論壇 | 發行說明