PDFBox的 - 让字位置(而不仅是人物)(PDFBox - getting words loca

2019-09-22 07:17发布

是否有可能得到使用PDFBox的话的地方,类似“processTextPosition”? 看来,processTextPosition叫上唯一的单字符,并且将它们合并成字的代码是PDFTextStripper的一部分(在“正常化”)方法,它返回文本的位置。 有没有一种方法/工具,提取的位置呢? (对于那些想知道动机是什么 - 信息实际上是一个表,我们想检测空白单元格)谢谢

Answer 1:

以获得从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,字]由默认字分离器分离



文章来源: PDFBox - getting words locations (and not only characters')