4

コマンドラインツールとしてではなく、Javaアプリ内でpdfboxを使用してPDFファイルからテキストを抽出しようとしています。jsoupを使用してpdfをダウンロードしています。

res = Jsoup
.connect(host+action)
.ignoreContentType(true)
.data(data)
.cookies(cookies)
.method(Method.POST)
.timeout(20*1000)
.execute();

// prepare document
InputStream is = new ByteArrayInputStream(res.bodyAsBytes()); 
PDDocument pdf = new PDDocument();
pdf.load(is,true);

// extract text
PDFTextStripper stripper = new PDFTextStripper();
String text = stripper.getText(pdf);

// print extracted text
System.out.println(text);

このコードは空行のみを出力します。私がこれを行うとき:

System.out.println(res.body());

次のようにpdfファイルを出力して出力します。

%PDF-1.4
%����
6 0 obj
<<
/Filter /FlateDecode
/Length 1869
>>
stream
x��X�n��

...

<<
/Size 28
/Info 27 0 R
/Root 26 0 R
>>
startxref
20632
%%EOF

だから、pdfが正しくダウンロードされたと確信しています-このPDFストリッパーだけが機能しません...

- - - - - - - - - - - - - - - - - - - - - - - 編集

この問題は解決されました - 作業コードはこちらhttp://thottingal.in/blog/2009/06/24/pdfbox-extract-text-from-pdf/

4

1 に答える 1

2

(コメントで回答された質問。回答のない質問を参照してください。ただし、コメントで問題は解決されています(またはチャットで拡張されています)

@WeloSefer は次のように書いています。

多分これはあなたが始めるのに役立つかもしれません...私はjsoupもpdfboxも使ったことがないので助けにはなりませんが、テキストを抽出するためにitextpdfリーダーをテストしているのでpdfboxを試してみます。

OP は次のように書いています。

ありがとう、それは私が探していたものです - それは今動作します:)この問題は解決されました - 動作するコードはここにあります

于 2015-01-26T14:21:57.230 に答える