I replaced the following line of code: OutputDoc.addPage(page); // ***** test only *****
with these lines: PDPage BlankPage = new PDPage(); OutputDoc.addPage(BlankPage ); and that worked fine. However, it does not line me adding pages from another document. Do I have to do something to the catalog first or . . . ? (I did not see this in the examples.) Thanks, Alan From: Alan Thomas Sent: Friday, July 03, 2009 12:24 PM To: pdfbox-users@incubator.apache.org Subject: java.io.IOException: The handle is invalid What might cause the runtime error: "java.io.IOException: The handle is invalid" in COSVisitorException? All I did in my code with the problem object "OutputDoc" was: PDDocument InputDoc = null; PDDocument OutputDoc = new PDDocument(); try { InputDoc = PDDocument.load( pdfInFile ); . . . . . List pages = InputDoc.getDocumentCatalog().getAllPages(); Iterator iter = pages.iterator(); while( iter.hasNext() ) { PDPage page = (PDPage)iter.next(); OutputDoc.addPage(page); // ***** test only ***** . . . . . } finally { if( InputDoc != null ) { InputDoc.close(); OutputDoc.save(pdfOutFile); OutputDoc.close(); } } Here is the stack trace, below. Thanks, Alan Exception in thread "main" org.apache.pdfbox.exceptions.COSVisitorException: The handle is invalid at org.apache.pdfbox.pdfwriter.COSWriter.visitFromStream(COSWriter.java:939) at org.apache.pdfbox.cos.COSStream.accept(COSStream.java:201) at org.apache.pdfbox.cos.COSObject.accept(COSObject.java:206) at org.apache.pdfbox.pdfwriter.COSWriter.doWriteObject(COSWriter.java:430) at org.apache.pdfbox.pdfwriter.COSWriter.doWriteBody(COSWriter.java:361) at org.apache.pdfbox.pdfwriter.COSWriter.visitFromDocument(COSWriter.java:768) at org.apache.pdfbox.cos.COSDocument.accept(COSDocument.java:361) at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1070) at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:787) at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:768) at Drawings.Drawings(Drawings.java:113) at Drawings.main(Drawings.java:39) java.io.IOException: The handle is invalid at java.io.RandomAccessFile.seek(Native Method) at org.apache.pdfbox.io.RandomAccessFile.seek(RandomAccessFile.java:59) at org.apache.pdfbox.io.RandomAccessFileInputStream.read(RandomAccessFileInputStream.java:96) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read1(BufferedInputStream.java:258) at java.io.BufferedInputStream.read(BufferedInputStream.java:317) at org.apache.pdfbox.pdfwriter.COSWriter.visitFromStream(COSWriter.java:926) at org.apache.pdfbox.cos.COSStream.accept(COSStream.java:201) at org.apache.pdfbox.cos.COSObject.accept(COSObject.java:206) at org.apache.pdfbox.pdfwriter.COSWriter.doWriteObject(COSWriter.java:430) at org.apache.pdfbox.pdfwriter.COSWriter.doWriteBody(COSWriter.java:361) at org.apache.pdfbox.pdfwriter.COSWriter.visitFromDocument(COSWriter.java:768) at org.apache.pdfbox.cos.COSDocument.accept(COSDocument.java:361) at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1070) at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:787) at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:768) at Drawings.Drawings(Drawings.java:113) at Drawings.main(Drawings.java:39) Java Result: 1 BUILD SUCCESSFUL (total time: 9 seconds)