java解析PDF文件(汉字及图片)
在工程需求中如何处理java解析pdf文件。
首先准备jar包:Spire.Pdf.jar,本人使用的是2.6.3版本。
1、解析pdf文字格式:
public static String exportPDFUtil(String fileName) {
// 创建PdfDocument实例
PdfDocument doc = new PdfDocument();
// 加载PDF文件
doc.loadFromFile(fileName);
StringBuilder sb = new StringBuilder();
PdfPageBase page;
// 遍历PDF页面,获取文本
for (int i = 0; i < doc.getPages().getCount(); i++) {
page = doc.getPages().get(i);
sb.append(page.extractText(true));
// 去除文件中的空白符
sb.toString().replaceAll("\\s", "");
}
doc.close();
return sb.toString();
}
2、解析pdf图片格式:
public static void main(String[] args) {
// 创建PdfDocument实例
PdfDocument doc = new PdfDocument();
// 加载PDF文件
doc.loadFromFile("E:\\test\\testq.pdf");
int index = 0;
// 遍历PDF文件中的页面
for (PdfPageBase page : (Iterable<PdfPageBase>) doc.getPages()) {
// 提取页面中的图片并保存至本地文件夹
for (BufferedImage image : page.extractImages()) {
File output = new File("E:/test/" + String.format("Image_%d.png", index++));
try {
ImageIO.write(image, "PNG", output);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}