是否可以使用 PDFBox 获取单词的位置,类似于“processTextPosition”?
似乎 processTextPosition 仅在单个字符上调用,将它们合并为单词的代码是 PDFTextStripper(在“规范化”中)方法的一部分,该方法确实返回文本的位置。
是否有一种方法/实用程序也可以提取位置?
(对于那些想知道动机是什么的人 - 信息实际上是一个表格,我们希望检测空单元格)
谢谢
要获取从 pdf 文件中提取的文本中的单词及其 x 和 y 位置,您必须扩展 PdfTextStripper 类并使用自定义类从 pdf 文件中提取文本,例如
public class CustomPDFTextStripper extends PDFTextStripper{
public CustomPDFTextStripper() throws IOException {
}
/**
* Override the default functionality of PDFTextStripper.
*/
@Override
protected void writeString(String text, List<TextPosition> textPositions) throws IOException{
TextPosition firstProsition = textPositions.get(0);
writeString(String.format("[%s , %s , %s]", firstProsition.getTextPos().getXPosition(),
firstProsition.getTextPos().getYPosition(), text));
}
}
创建此自定义类的对象并提取文本,如下所示
PDFTextStripper pdfStripper = new CustomPDFTextStripper();
String text = pdfStripper.getText(*pdf file wrapped as a PDDocument object*);
生成的文本字符串的格式为 [xposition, yposition, word],由默认的单词分隔符分隔
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)