You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Wei Zhang (JIRA)" <ji...@apache.org> on 2017/08/22 06:04:00 UTC

[jira] [Created] (PDFBOX-3901) Merging PDF error: COSStream has been closed and cannot be read. Perhaps its enclosing PDDocument has been closed

Wei Zhang created PDFBOX-3901:
---------------------------------

             Summary: Merging PDF error: COSStream has been closed and cannot be read. Perhaps its enclosing PDDocument has been closed
                 Key: PDFBOX-3901
                 URL: https://issues.apache.org/jira/browse/PDFBOX-3901
             Project: PDFBox
          Issue Type: Bug
          Components: Utilities
    Affects Versions: 2.0.4
            Reporter: Wei Zhang


I am trying to merge around 2500 pdfs to one file. But I got the error below.

Caused by: java.io.IOException: COSStream has been closed and cannot be read. Perhaps its enclosing PDDocument has been closed?
at org.apache.pdfbox.cos.COSStream.checkClosed(COSStream.java:77) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.cos.COSStream.createRawInputStream(COSStream.java:125) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdfwriter.COSWriter.visitFromStream(COSWriter.java:1200) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.cos.COSStream.accept(COSStream.java:383) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.cos.COSObject.accept(COSObject.java:158) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdfwriter.COSWriter.doWriteObject(COSWriter.java:522) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdfwriter.COSWriter.doWriteObjects(COSWriter.java:460) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdfwriter.COSWriter.doWriteBody(COSWriter.java:444) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdfwriter.COSWriter.visitFromDocument(COSWriter.java:1096) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.cos.COSDocument.accept(COSDocument.java:419) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1367) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1254) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1232) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1204) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1192) ~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.pdmodel.PDDocument$save$0.call(Unknown Source) ~[?:?]

My code is :

{code:title=|borderStyle=solid}
public static void concatPdfs(List<String> sourceFiles, String dest) throws IOException {
 
        PDFMergerUtility ut = new PDFMergerUtility();

        PDDocument pdfDest = new PDDocument(MemoryUsageSetting.setupTempFileOnly());

        for(String source : sourceFiles) {
            PDDocument pdfSource = PDDocument.load(new FileInputStream(source), MemoryUsageSetting.setupMainMemoryOnly());
            ut.appendDocument(pdfDest, pdfSource);
            pdfSource.close();
        }

        pdfDest.save(dest);
        pdfDest.close();
    }
{code}





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org