由于原来使用的是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.setEndPage(endPage);
String content = pts.get

本文介绍了作者在从iText5升级到iText7版本后,如何解决PDF格式兼容问题,重点在于处理按行读取文本和利用PDFTextStripperByArea进行区域内容提取的过程,包括对新版本API的适应和关键类的使用技巧。

1万+

被折叠的 条评论
为什么被折叠?



