不論是在團隊寫作還是在個人工作中,PDF 文檔往往會經過多次修訂和更新。掌握 PDF 文檔內容的變化對於管理文檔有極大的幫助。通過對比 PDF 文檔,用戶可以快速找出文檔增加、刪除和修改的內容,更好地瞭解文檔的演變過程,輕鬆地管理文檔。本文將介紹如何在 Java 程序中通過代碼快速比較兩個 PDF 文檔並找出文檔之間的內容差異。
本文所使用的方法需要用到 Spire.PDF for Java庫,可點擊下載後再手動將 Spire.Pdf.jar 引入程序中。
使用 Java 對比整個 PDF 文檔
對比文檔之前需要先將兩個文檔作爲參數傳遞到 PdfComparer 類的構造函數創建對象,然後再使用 PdfComparer.compare(String fileName) 方法對比這兩個 PDF 文檔並將對比結果保存到第三個 PDF 文檔。 對比結果文檔將分兩欄展示原文檔,增加部分顯示在左側,刪除部位顯示在右側。 步驟和代碼如下:
- 創建兩個 PdfDocument 類的對象。
- 使用 PdfDocument.loadFromFile() 方法加載兩個 PDF 文檔。
- 創建 PdfComparer 類的對象。
- 使用 PdfComparer.compare() 方法比較兩個文檔,並將結果保存爲新的 PDF 文檔。
import com.spire.pdf.PdfDocument; import com.spire.pdf.comparison.PdfComparer; public class ComparePDF { public static void main(String[] args) { // 創建PdfDocument對象並加載第一個PDF文檔 PdfDocument pdf1 = new PdfDocument(); pdf1.loadFromFile("文件1.pdf"); // 創建另一個PdfDocument對象並加載另一個PDF文檔 PdfDocument pdf2 = new PdfDocument(); pdf2.loadFromFile("文件2.pdf"); // 創建PdfComparer對象 PdfComparer comparer = new PdfComparer(pdf1, pdf2); // 比較兩個PDF文檔並將比較結果保存到新文檔中 comparer.compare("比較1.pdf"); } }
比較結果:
使用 Java 對比 PDF 文檔的指定頁面
初始化 PdfComparer 之後,還可以使用 PdfComparer.getOptions().setPageRanges() 方法限制用於對比的 PDF 頁面範圍。步驟和代碼如下:
- 創建兩個 PdfDocument 類的對象。
- 使用 PdfDocument.loadFromFile() 方法加載兩個 PDF 文檔。
- 創建 PdfComparer 類的對象。
- 使用 PdfComparer.getOptions().setPageRanges() 方法設置要對比的頁面範圍。
- 使用 PdfComparer.compare() 方法比較兩個文檔,並將結果保存爲新的 PDF 文檔。
import com.spire.pdf.PdfDocument; import com.spire.pdf.comparison.PdfComparer; public class ComparePDFPageRange { public static void main(String[] args) { // 創建PdfDocument對象並加載第一個PDF文檔 PdfDocument pdf1 = new PdfDocument(); pdf1.loadFromFile("文件1.pdf"); // 創建另一個PdfDocument對象並加載另一個PDF文檔 PdfDocument pdf2 = new PdfDocument(); pdf2.loadFromFile("文件2.pdf"); // 創建PdfComparer對象 PdfComparer comparer = new PdfComparer(pdf1, pdf2); // 設置要比較的頁面範圍 comparer.getOptions().setPageRanges(1, 1, 1, 1); // 比較兩個PDF文檔並將比較結果保存到新文檔中 comparer.compare("比較2.pdf"); } }
比較結果
以上示例可以看出用 Spire.PDF for Java 對比 PDF 文檔的操作十分簡單,僅需幾行代碼就能快速找出文檔之間的差異。要了解該Java庫支持的其他功能,可前往 Spire.PDF for Java 教程查看。