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)

Reply via email to