我从 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 循环中的所有行并且没有错误。但是当我忽略strategy = parser.processContent(pageNum, new SimpleTextExtractionStrategy()); 它会出错。