Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-1533

When merging certain PDF's several odd looking empty pages occur in the result


    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.1, 1.8.4, 2.0.0
    • Fix Version/s: 1.8.7, 2.0.0
    • Component/s: Utilities
    • Labels:


      Unfortunately I cannot attach a input file for this case as it contains confidential customer data, but I'll try to explain the problem in depth so you hopefully are able to track it down.

      When we merge certain PDF's with the PDFMergerUtility the result contains several empty pages at the end of the document. It seems like that only certain pdf versions are effected (i.p.: 1.5 (Acrobat 6.x)).

      I tracked the problem down to the the following part in the appendDocument method of the PDFMergerUtility:

       //finally append the pages
              List<PDPage> pages = srcCatalog.getAllPages();
              Iterator<PDPage> pageIter = pages.iterator();
              while( pageIter.hasNext() )
                  PDPage page = pageIter.next();
                  PDPage newPage =
                      new PDPage( (COSDictionary)cloner.cloneForNewDocument( page.getCOSDictionary() ) );
                  newPage.setCropBox( page.findCropBox() );
                  newPage.setMediaBox( page.findMediaBox() );
                  newPage.setRotation( page.findRotation() );
                  destination.addPage( newPage );

      The problem is that call to srcCatalog.getAllPages(); returns for example 6 PDPage objects, but for the same input document, the call to source.getNumberOfPages() returns only 2. Thus we add 4 odd empty pages to the result document.

      I hope this description is good enough to figure out the problem. Don't hesitate to ask for further details.


        1. sample_pdf.zip
          558 kB
          Christian Connert



            • Assignee:
              jahewson John Hewson
              chri Christian Connert
            • Votes:
              2 Vote for this issue
              5 Start watching this issue


              • Created: