由于原来使用的是itext5 导致有些PDF的格式类型不支持 解析失败
所以想升级到7,目前我的测试版本是7.0.3 发现有些实体类都没有了,心累 比对了新老版本 不同的实体类和实现逻辑 终于找到一点点相关的信息
非常感谢 使用iText 7读取PDF文件中的文本和图片 - 佛西亚 - 博客园 的回答,让我有点领悟到了真谛。
博文里面提到的是获取整个page的String文本,但是我这里需求是按照行读,所以尝试在原来的基础上小改动, 具体的逻辑如下 省略了一些不关键的代码
官网地址如下: iText 7 Community | iText PDF
main(){
imageTool.readEnPdfData("D:/33.pdf");
}
public Map readEnPdfData(String filePath) throws Exception {
PDDocument document = null; List<String> contentList = CollUtil.newArrayList(); String errorMsg = "系统错误"; try { boolean sort = true;// 是否排序 int startPage = 1;// 开始提取页数 int endPage = Integer.MAX_VALUE;// 结束提取页数 URL url = URLUtil.url(filePath); InputStream inputStream = URLUtil.getStream(url); document =PDDocument.load(inputStream); PDFTextStripper pts = new PDFTextStripper(); pts.setSortByPosition(sort); endPage = document.getNumberOfPages(); // System.out.println("Total Page: " + endPage); pts.setStartPage(startPage); pts.se