「processTextPosition」と同様に、PDFBox を使用して単語の位置を取得することは可能ですか? processTextPosition は単一の文字でのみ呼び出され、それらを単語にマージするコードは、テキストの場所を返す PDFTextStripper (「正規化」内) メソッドの一部です。場所も抽出する方法/ユーティリティはありますか? (動機が何であるか疑問に思っている人のために-情報は実際にはテーブルであり、空のセルを検出したいと考えています)ありがとう
質問する
4167 次
1 に答える
2
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] の形式になります。
于 2016-03-10T15:57:23.213 に答える