PDF からテキストを抽出しているときに問題が発生しました。
01-29 09:44:15.397: E/dalvikvm-heap(8037): 5440032 バイトの割り当てでメモリが不足しています。
ページの内容を調べたところ、テキストの上に画像があります。私が知りたいのは、エラーをキャッチしてそのページをスキップする方法です。私が試してみました:
try {
pages = new String[pdfPage];
PdfReaderContentParser parser = new PdfReaderContentParser(reader);
TextExtractionStrategy strategy;
for (int pageNum = 1; pageNum <= pdfPage; pageNum++) {
// String original_content = "";
// original_content = PdfTextExtractor.getTextFromPage(reader,
// pageNum, new SimpleTextExtractionStrategy());
Log.e("MyActivity", "PageCatch: " + (pageNum + fromPage));
strategy = parser.processContent(pageNum,
new SimpleTextExtractionStrategy());
readPDF(strategy.getResultantText(), pageNum - 1);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
上記のtry catchは、 strategy = parser.processContent(pageNum, new SimpleTextExtractionStrategy());のエラーをキャッチしません。 forループ内のすべての行をコメントアウトしようとしましたが、エラーはありませんでした。しかし、戦略を除外すると = parser.processContent(pageNum, new SimpleTextExtractionStrategy()); そしてそれはエラーです。