是否有可能得到使用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')