我一直在使用itext
从pdf中提取文本,但它运行正常,但某些pdf会出现一些问题。这听起来很奇怪,因为我可以
通常用acrobat阅读器打开它。我已经阅读了一些关于tif pdf或pdf的内容,其中包含一些tif图片或文件,似乎不能使用这种方法,但是这个pdf
似乎不包含任何这些文件,我只对文本感兴趣。
这是我提取文本的方法:它适用于一些类似于另一个不起作用的pdf。
public String getPdfContent(String pdfPath) {
try {
PdfReader reader = new PdfReader(pdfPath);
PdfReaderContentParser parser = new PdfReaderContentParser(reader);
TextExtractionStrategy strategy;
StringBuilder sb = new StringBuilder();
SimpleTextExtractionStrategy stes = new SimpleTextExtractionStrategy();
stes.getResultantText();
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
try {
strategy = parser.processContent(i, stes);
sb.append(strategy.getResultantText());
} catch (Exception ex) {
UTGeraLog.gravaErro(ex);
}
}
reader.close();
return sb.toString();
} catch (Exception ex) {
UTGeraLog.gravaErro(ex);
return null;
}
}
catch块get:
&#34; com.itextpdf.text.ExceptionConverter)java.lang.ArrayIndexOutOfBoundsException:256&#34;
我仍然无法解决这个问题=(#。也许特殊字符?超出范围?它使用ASCII码?
Ps。:我使用itextpdf-5.5.7.jar