「processTextPosition」と同様に、PDFBoxを使用して単語の位置を取得することは可能ですか? processTextPositionは1文字のみで呼び出され、それらを単語にマージするコードはPDFTextStripper( "normalize")メソッドの一部であり、テキストの位置を返します。 場所を抽出する方法/ユーティリティはありますか? PDFファイルあなたから抽出されたテキストに単語とそのxとyの位置を取得する おかげPDFBox - 単語の位置を取得するだけでなく、文字を取得する
6
A
答えて
1
- (情報は実際のテーブルであり、我々は空のセルを検出したい動機が何であるか疑問に思う人のために)このカスタムクラスのオブジェクトを作成し、これ
PDFTextStripper pdfStripper = new CustomPDFTextStripper();
String text = pdfStripper.getText(*pdf file wrapped as a PDDocument object*);
としてテキストを抽出
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));
}
}
PDFファイルなどからPdfTextStripperクラスを拡張し、テキストを抽出するために、カスタムクラスを使用する必要があります結果のテキスト文字列は[xposition、yposition、word]の形式でデフォルトの単語区切り文字で区切られています
+0
PdfBoxで動作しません。 –
関連する問題
- 1. pdfbox PDFBox 2.0.0フィールドの位置を取得
- 2. 文字列内の位置を囲む単語を取得する
- 3. 文字列の位置から単語を取得する - Bash/Linux
- 4. spacyで文の単語の位置を取得
- 5. 特定の単語の位置を取得する
- 6. 文字列内の文字を見つけて位置を取得する - ruby
- 7. NSStringの文字の位置を取得
- 8. C言語でアルファベットで文字の位置を取得する方法は?
- 9. 単語の文脈を取得する
- 10. editextのonTouchで文字の位置を取得する方法
- 11. 文字で始まる単語を取得する
- 12. MySQLで3文字以下の単語を取得する
- 13. すべての文字の位置を取得する方法
- 14. テキストボックス(JavaScript)内でクリックされた単語の位置を取得
- 15. 単語だけを取得するJava正規表現
- 16. HTMLの要素の文字位置を取得する
- 17. 文字列の最初の単語を取得する
- 18. .getSelectedItem()の文字列から位置を取得する方法
- 19. 単語の文字数を取得する
- 20. java最後の単語を文字列から取得する
- 21. JavaScriptでカレットの位置から最後の単語を取得するには?
- 22. 文字列から特定の文字を位置で取得する
- 23. スペイシー:エンティティタグと単語の位置を取得
- 24. C文字列:文字列の最後の単語を取得
- 25. 文字列内にある部分文字列の位置を取得する
- 26. GREPどのように指定された文字だけの単語を取得するのですか?
- 27. Twig - 文字列から単語数を取得する
- 28. 現在のカーソル位置を囲む単語のスタイルを取得する
- 29. PDFboxを使用してラジオボタンの位置を取得する方法
- 30. 文字列の単語数(ラテン語だけでなく)
おそらくこれが役立ちます:http://stackoverflow.com/questions/3203790/parsing-pdf-files-especially-with -tables-with-pdfbox/12545981#12545981 – impeto
提案していただきありがとうございます。最終的には、writePageを変更して、単語をその位置に保つようにしました(送信したURLに記述されています)。しかし、私たちの場合、列の数(およびその位置)はわかっていないので、情報の構成に基づいて列を見つける必要があります(たとえば、Yの位置から始まる単語を持つ行がたくさんある場合= 100、おそらくテーブルの列があります)。この構造を検出できるコンポーネントはありますか?もしそうなら、「Y」が定数ではないときに、やや回転したページも扱うことができますか? – user964797
可能な方法の1つは、PDFTextStripperクラスのprocessTextPosition()にオーバーライドを追加し、seperatorという単語をチェックすることによって文字を追跡することです。単語startにマークを付け、単語の末尾にマークを付けて保存しますデリミタが遭遇する。 – programer8