Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iText在创建PdfReader时抛出java.lang.ArrayIndexOutOfBoundsException_Java_Itext - Fatal编程技术网

iText在创建PdfReader时抛出java.lang.ArrayIndexOutOfBoundsException

iText在创建PdfReader时抛出java.lang.ArrayIndexOutOfBoundsException,java,itext,Java,Itext,我使用以下代码创建PdfReader实例: FileInputStream pdfIn = new FileInputStream("c:/temp/20501217.pdf"); ByteArrayOutputStream stampedPdfBAOS = new ByteArrayOutputStream(); try { PdfReader reader = new PdfReader(pdfIn); 这会引发异常,生成以下堆栈跟踪: java.lang.ArrayIndexOutOfB

我使用以下代码创建PdfReader实例:

FileInputStream pdfIn = new FileInputStream("c:/temp/20501217.pdf");
ByteArrayOutputStream stampedPdfBAOS = new ByteArrayOutputStream();
try {
PdfReader reader = new PdfReader(pdfIn);
这会引发异常,生成以下堆栈跟踪:

java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.ArrayList.get(ArrayList.java:323)
    at com.itextpdf.text.pdf.PdfReader.removeUnusedNode(PdfReader.java:3042)
    at com.itextpdf.text.pdf.PdfReader.removeUnusedObjects(PdfReader.java:3086)
    at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:528)
    at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:237)
    at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:247)
java.lang.ArrayIndexOutOfBoundsException:-1
获取(ArrayList.java:323)
位于com.itextpdf.text.pdf.PdfReader.removeUnusedNode(PdfReader.java:3042)
位于com.itextpdf.text.pdf.PdfReader.removeUnusedObjects(PdfReader.java:3086)
请访问com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:528)
请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:237)
请访问com.itextpdf.text.pdf.PdfReader。(PdfReader.java:247)

我使用的是iText版本5.0.4,PDF是有效的。

你能上传完整的代码吗?a)5.0.4已经很旧了。iText 5.4.x是否也会出现此错误?b) 你能提供一个引起这个问题的PDF样本吗?同意:我是iText的原始开发者,这个问题是无法回答的,只要你不提供PDF。请注意,我曾经在一个PDF中看到过这个问题,它引用了一个负对象:-10R。这在技术上是不可能的。对象编号不能为负数。尽管如此,我们还是更改了iText,以便它可以读取这些损坏的文件。(您说它是有效的,但能够在Adobe Reader中打开文件并不总是意味着它是有效的!)