我得到以下异常:PDF阅读错误
java.lang.ArithmeticException:/by zero
at com.lowagie.text.pdf.CMapAwareDocumentFont.computeAverageWidth(Unknown Source)
at com.lowagie.text.pdf.CMapAwareDocumentFont.<init>(Unknown Source)
at com.lowagie.text.pdf.parser.PdfContentStreamProcessor$SetTextFont.invoke(Unknown Source)
at com.lowagie.text.pdf.parser.PdfContentStreamProcessor.invokeOperator(Unknown Source)
at com.lowagie.text.pdf.parser.PdfContentStreamProcessor.processContent(Unknown Source)
at com.lowagie.text.pdf.parser.PdfTextExtractor.getTextFromPage(Unknown Source)
at com.mycompany.reader.PDFReader.read(PDFReader.java:258)
at com.mycompany.reader.AbstractReader.run(AbstractReader.java:205)
at java.lang.Thread.run(Unknown Source)
是否有人可以帮助我在此?我在Windows7上使用iText-2.1.5.jar和JDK7u25。我想附上PDF,但我不知道如何附加文件。不仅如此,这是客户端PDF,所以我很抱歉,我不能在这里分享。
下面是我的阅读代码:
public StringBuffer read() throws Exception {
StringBuffer result = new StringBuffer();
PdfTextExtractor parser = new PdfTextExtractor(pdfReader);
int pageNumber = 0;
for(;index<totalPages;index++) {
try {
pageNumber = Integer.parseInt((String)pageNumberList.get(index));
result.append(parser.getTextFromPage(pageNumber));
} catch (Exception e) {
e.printStackTrace();
error("read", "Problem reading page number: " + pageNumber + " Reason: " + e.getMessage());
}
}
return result;
}
注:未在方法声明的所有变量声明为它被初始化之前阅读()被调用的实例字段。
您可以发布您在文件中读取的Java代码吗? – Loki
这是一个很久以前已经修复的已知错误。 iText 2.1.5的日期从2009年3月开始;今天我们是2013年7月。升级和你的问题将消失。请阅读http://lowagie.com/itext2 –
感谢您的快速回复。我通过发布阅读代码更新了上述问题。这可以用我目前使用的iText版本修复吗? – ParagJ