比較 PDF 文件可能是一項乏味的任務,尤其是當您需要識別多個文檔之間的差異時。幸運的是,GroupDocs.Comparison for Java API 為您提供了以編程方式比較 PDF 文件的能力。在本文中,我們將逐步向您展示如何使用 Java 代碼比較兩個 PDF 文件,包括如何處理受密碼保護的 PDF。我們還將演示如何比較兩個以上的 PDF 文件以及如何接受或拒絕任何已識別的更改。因此,如果您準備好簡化 PDF 比較工作流程,請繼續閱讀!

使用 Java API 比較 PDF 文檔以查找差異

此處討論以下主題:

如果您對在線比較 PDF 文件 感興趣,請訪問由 GroupDocs 提供支持的在線 PDF 文件比較工具

用於比較 PDF 文件的 Java API

在本文中,我將利用 GroupDocs.Comparison for Java API 來比較 PDF 文檔,因為此 API 可以在多個 PDF 文檔之間進行比較。此外,它還允許比較 Java 應用程序中具有相同文檔格式的各種其他文件。

您可以從 下載部分 下載 JAR 文件,或在您的 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 文檔的多個副本之間的差異(添加、刪除),您可以比較這些文件。比較 PDF 內容後,您可以生成一個新文檔,突出顯示所有已識別的更改。以下步驟演示瞭如何使用 Java 比較兩個 PDF 文檔並突出顯示任何差異。

  • 使用 Comparer 類加載第一個 PDF 文檔。
  • 使用 add 方法將第二個文件添加到 Comparer。
  • 比較兩個 PDF 文件並通過調用比較方法獲取更改摘要。

以下 Java 代碼片段顯示瞭如何比較 PDF 文檔並突出顯示結果文檔中的更改。

// 使用 Java 比較兩個 PDF 文檔並突出顯示更改

Comparer comparer = new Comparer("path/document-ver1.pdf");
comparer.add("path/document-ver2.pdf");

comparer.compare("path/comparison-result.pdf");

使用 Java 接受或拒絕 PDF 文件的已識別更改

與“跟踪更改”功能非常相似,也可以通過編程接受或拒絕 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));

使用 Java 比較受密碼保護的 PDF 文檔

可以通過在加載文檔時提供密碼來比較受密碼保護的文件。以下步驟演示瞭如何使用 Java 比較受密碼保護的 PDF 文檔的內容:

  • 為源文檔和目標文檔準備加載選項,提供必要的密碼。
  • 使用 Comparer 類加載源文檔。
  • 使用準備好的加載選項將目標文檔添加到 Comparer。
  • 通過調用比較方法獲取差異摘要。

下面的 Java 示例比較了兩個受密碼保護的 PDF 文件,並在單獨的文檔中突出顯示了已識別的差異。

// 使用 Java 比較受密碼保護的 PDF 文檔
 
Comparer comparer = new Comparer("path/protected-document-ver1.pdf", new LoadOptions("SourceFilePassword"));
comparer.add("path/protected-document-ver2.pdf", new LoadOptions("TargetFilePassword"));

comparer.compare("path/protected-files-comparison-result.pdf");

使用 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");

獲取免費的 API 許可證

您可以 獲得免費的臨時許可證 以不受評估限制地使用 API。

結論

總之,我們介紹了使用 Java 比較兩個或多個 PDF 文件、突出顯示差異以及以編程方式接受或拒絕已識別的更改。此外,我們探討瞭如何在 Java 應用程序中比較受密碼保護的 PDF 文檔。

您可以控制許多其他 自定義 來管理比較結果。您可以調整比較敏感度,選擇只顯示摘要頁面,忽略差距等等。

構建您自己的 PDF 比較應用程序

以下是一些重要鏈接,可幫助您構建自己的文檔比較應用程序。

文檔 | API 參考 | 支持的文件格式

運行示例 - GitHub | 免費支持論壇 | 發行說明

也可以看看