1

大きなpdfからテキストを抽出しようとしましたが、最初のページしか取得できません。すべてのテキストを文字列変数に渡す必要があります。

これがコードです

public class ParsePDF {
    public static void main(String args[]) throws Exception {


    try {

      File file = new File("C:/vlarge.pdf");

      String content = new Tika().parseToString(file);

      System.out.println("The Content: " + content);

        }
        catch (Exception e) {
          e.printStackTrace();
        }
    }
}
4

2 に答える 2

2

Javadocから:

予期しない過剰なメモリ使用を避けるために、返される文字列には、入力ドキュメントから抽出された最初の文字が最大 getMaxStringLength() まで含まれます。この制限を調整するには、setMaxStringLength(int) メソッドを使用します。

呼び出すsetMaxStringLength(-1)と、この制限が無効になります。

于 2014-09-15T18:50:37.250 に答える
1

apache api TIKAを試してください。大きなPDFでも機能します。

サンプル :

        InputStream input = new FileInputStream("sample.pdf");
        ContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE);
        Metadata metadata = new Metadata();
        new PDFParser().parse(input, handler, metadata, new ParseContext());
        String plainText = handler.toString();
        System.out.println(plainText);
于 2013-12-20T13:57:12.687 に答える