繁体   English   中英

自定义 PDFTextStripper PDFbox

[英]Customizing PDFTextStripper PDFbox

PDFTextStripper具有从整个文档中提取文本的功能,有没有办法仅在识别出某个值后才提取文本,例如:

A B C D G   1 line

A B C D G   2 line

A B C D G   3 line

QUANTITY  4 line

我想在找到 Quantity(String) 后开始提取文本如果有人处理 PDFBox 并有一些建议,将不胜感激

或者是否只有当它在文本将包含的值之后点击一行时才可以添加到列表中?

最简单的解决方案是捕获整个文本,然后创建一个模式,上面写着 -> "DESCRIPTION\\\\s*Reference\\\\s*QUANTITY(.*)"所以基本上我想从上面提到的单个页面上捕获所有内容

  1. 创建一个将String文本作为参数的函数,定位单个matcher.group(1) ,并返回StringOptional<String>

  2. 创建一个模式并使用正则表达式告诉该模式您想从哪里开始捕获

您可以按照 Artjom 的说明捕获整个文本,也可以创建一个自定义的 PDFTextStripper,它从 PDFTextStripper 扩展并覆盖解析文本的函数,如下所示

@Override
protected void writeString(String text, List<TextPosition> textPositions) {
    ...
}

然后使用 TextPositions 来确定应该从哪里开始解析

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM