// 引入必要的库
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import java.io.*;
public class PDFBoxExample {
// 方法:从PDF中提取文本
public static String extractTextFromPDF(String filePath) throws IOException {
PDDocument document = null;
try {
document = PDDocument.load(new File(filePath));
if (!document.isEncrypted()) {
PDFTextStripper stripper = new PDFTextStripper();
return stripper.getText(document);
} else {
throw new IOException("PDF文档已加密");
}
} finally {
if (document != null) {
document.close();
}
}
}
// 方法:合并多个PDF文件
public static void mergePDFs(String[] sources, String destination) throws IOException {
PDDocument result = null;
try {
result = new PDDocument();
for (String src : sources) {
PDDocument document = PDDocument.load(new File(src));
result.addDocument(document);
document.close();
}
result.save(destination);
} finally {
if (result != null) {
result.close();
}
}
}
public static void main(String[] args) {
try {
// 提取PDF文本示例
String filePath = "path/to/your/document.pdf";
String text = extractTextFromPDF(filePath);
System.out.println(text);
// 合并PDF示例
String[] sourceFiles = {"path/to/first.pdf", "path/to/second.pdf"};
String destinationFile = "path/to/merged.pdf";
mergePDFs(sourceFiles, destinationFile);
System.out.println("PDF文件合并完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上示例展示了如何使用Apache PDFBox库来提取PDF文件中的文本和合并多个PDF文件。确保你的项目中已经包含了PDFBox的依赖。此代码包含了两个方法:`extractTextFromPDF`用于从指定路径的PDF文件中提取文本,`mergePDFs`用于将多个PDF文件合并为一个。`main`方法演示了如何调用这两个方法。
注意:为了运行这段代码,你需要在你的项目中添加PDFBox的依赖。如果你使用的是Maven,可以在`pom.xml`中添加相应的依赖项。
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.24</version> <!-- 请根据需要替换为最新版本 -->
</dependency>
记得检查PDFBox的最新版本并替换到上述依赖中。