Hi,
I am using PDFBox version 1.1.0 in order to use PDFBox on Google App Engine (to
avoid AWT which is not available in GAE); we've already done some forms
processing with this. Now I need to merge some pdf documents. I set up a test
using Eclipse Galileo on a Mac with Java 1.6 and the PDFBox1.1.0 source tree.
I created a simple launch config for the main() of PDFMerger with two names of
input pdf files (1 page each), and the name of an output file.
However, when I run it, I get an exception with the stack trace shown at the
end of this message.
Does anyone have any suggestions about this?
Alternatively, has anyone created a patch for PDFBox1.3.0 which removes the use
of AWT?
Thanks much in advance,
Ken Bowen
-----TRACE-----
Exception in thread "main" org.apache.pdfbox.exceptions.COSVisitorException:
Bad file descriptor
at
org.apache.pdfbox.pdfwriter.COSWriter.visitFromStream(COSWriter.java:938)
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:767)
at org.apache.pdfbox.cos.COSDocument.accept(COSDocument.java:372)
at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1082)
at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:899)
at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:880)
at
org.apache.pdfbox.util.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:144)
at org.apache.pdfbox.PDFMerger.merge(PDFMerger.java:68)
at org.apache.pdfbox.PDFMerger.main(PDFMerger.java:44)
java.io.IOException: Bad file descriptor
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:925)
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:767)
at org.apache.pdfbox.cos.COSDocument.accept(COSDocument.java:372)
at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1082)
at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:899)
at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:880)
at
org.apache.pdfbox.util.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:144)
at org.apache.pdfbox.PDFMerger.merge(PDFMerger.java:68)
at org.apache.pdfbox.PDFMerger.main(PDFMerger.java:44)