Hi Dmitry, If you're using the latest version of iText (5.4.2), could you provide those PDFs to us? If you're not, could you upgrade and check your PDFs again?
Kind regards, Michaƫl. Op 3/06/2013 12:50, Dmitry Katsubo schreef: > Dear iText developers, > > I have noticed that for certain (perhaps not well-formed) PDFs following > exceptions are thrown: > > * NumberFormatException in PdfNumber > > java.lang.RuntimeException: - is not a valid number - > java.lang.NumberFormatException: For input string: "-" > at com.itextpdf.text.pdf.PdfNumber.<init>(PdfNumber.java:83) > at > > com.itextpdf.text.pdf.PdfContentParser.readPRObject(PdfContentParser.java:180) > at > com.itextpdf.text.pdf.PdfContentParser.parse(PdfContentParser.java:89) > at > > com.itextpdf.text.pdf.parser.PdfContentStreamProcessor.processContent(PdfContentStreamProcessor.java:359) > at > > com.itextpdf.text.pdf.parser.PdfReaderContentParser.processContent(PdfReaderContentParser.java:41) > > It looks like there should be an additional check in PdfNumber that > input string is actually a number and perhaps ignore it in case it > is not. > > * StringIndexOutOfBoundsException in SimpleTextExtractionStrategy > > java.lang.StringIndexOutOfBoundsException: String index out of range: 0 > at java.lang.String.charAt(String.java:686) > at > > com.itextpdf.text.pdf.parser.SimpleTextExtractionStrategy.renderText(SimpleTextExtractionStrategy.java:126) > at > > com.itextpdf.text.pdf.parser.PdfContentStreamProcessor.displayPdfString(PdfContentStreamProcessor.java:304) > at > > com.itextpdf.text.pdf.parser.PdfContentStreamProcessor.access$2500(PdfContentStreamProcessor.java:75) > at > > com.itextpdf.text.pdf.parser.PdfContentStreamProcessor$ShowTextArray.invoke(PdfContentStreamProcessor.java:428) > at > > com.itextpdf.text.pdf.parser.PdfContentStreamProcessor.invokeOperator(PdfContentStreamProcessor.java:247) > at > > com.itextpdf.text.pdf.parser.PdfContentStreamProcessor.processContent(PdfContentStreamProcessor.java:366) > at > > com.itextpdf.text.pdf.parser.PdfReaderContentParser.processContent(PdfReaderContentParser.java:41) > > Additional check for string length is required or perhaps > StringUtils.substring(renderInfo.getText(), 0, 1) will be safe enough. > > > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite > It's a free troubleshooting tool designed for production > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://p.sf.net/sfu/appdyn_d2d_ap2 > > > > _______________________________________________ > iText-questions mailing list > iText-questions@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/itext-questions > > iText(R) is a registered trademark of 1T3XT BVBA. > Many questions posted to this list can (and will) be answered with a > reference to the iText book: http://www.itextpdf.com/book/ > Please check the keywords list before you ask for examples: > http://itextpdf.com/themes/keywords.php > ------------------------------------------------------------------------------ How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions iText(R) is a registered trademark of 1T3XT BVBA. Many questions posted to this list can (and will) be answered with a reference to the iText book: http://www.itextpdf.com/book/ Please check the keywords list before you ask for examples: http://itextpdf.com/themes/keywords.php