PDF 文档处理:使用 Java 对比 PDF 找出内容差异
不论是在团队写作还是在个人工作中,PDF 文档往往会经过多次修订和更新。掌握 PDF 文档内容的变化对于管理文档有极大的帮助。通过对比 PDF 文档,用户可以快速找出文档增加、删除和修改的内容,更好地了解文档的演变过程,轻松地管理文档。本文将介绍如何通过 Java 程序对比 PDF 文档并找出文档之间的内容差异。
本文所使用的方法需要用到 Spire.PDF for Java,可从Spire.PDF for Java官网获取。
通过 Java 程序对比整个 PDF 文档
对比文档之前需要先将两个文档作为参数传递到 PdfComparer 类的构造函数创建对象,然后再使用 PdfComparer.compare(String fileName) 方法对比这两个 PDF 文档并将对比结果保存到第三个 PDF 文档。 对比结果文档将分两栏展示原文档,增加部分显示在左侧,删除部位显示在右侧。 下面是详细操作步骤:
- 创建两个 PdfDocument 类对象,并使用 PdfDocument.loadFromFile() 方法加载两个 PDF 文档。
- 用这两个文档创建一个 PdfComparer 类对象。
- 使用 PdfComparer.compare() 方法比较两个文档,并将结果保存为新的 PDF 文档。
Java
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 文档。
Java
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 文档,找出文档差异的操作介绍。它还支持许多其他功能,可前往 Spire.PDF for Java 教程页面查看。