コマンドラインツールとしてではなく、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/