Class PdfMerger

java.lang.Object
com.itextpdf.kernel.utils.PdfMerger

public class PdfMerger extends Object
  • Constructor Details

    • PdfMerger

      public PdfMerger (PdfDocument pdfDocument)
      This class is used to merge a number of existing documents into one. By default, if source document contains tags and outlines, they will be also copied to the destination document.
      Parameters:
      pdfDocument - the document into which source documents will be merged
    • PdfMerger

      public PdfMerger (PdfDocument pdfDocument, boolean mergeTags, boolean mergeOutlines)
      This class is used to merge a number of existing documents into one.
      Parameters:
      pdfDocument - the document into which source documents will be merged
      mergeTags - if true, then tags from the source document are copied even if destination document is not set as tagged. Note, that if false, tag structure is still could be copied if the destination document is explicitly marked as tagged with PdfDocument.setTagged()
      mergeOutlines - if true, then outlines from the source document are copied even if in destination document outlines are not initialized. Note, that if false, outlines are still could be copied if the destination document outlines were explicitly initialized with PdfDocument.initializeOutlines()
  • Method Details

    • setCloseSourceDocuments

      public PdfMerger setCloseSourceDocuments (boolean closeSourceDocuments)
      If set to true then passed to the PdfMerger#merge method source documents will be closed immediately after merging specified pages into current document. If false - PdfDocuments are left open. Default value - false.
      Parameters:
      closeSourceDocuments - should be true to close pdf documents in merge method
      Returns:
      this PdfMerger instance
    • merge

      public PdfMerger merge (PdfDocument from, int fromPage, int toPage)
      This method merges pages from the source document to the current one.

      If closeSourceDocuments flag is set to true (see setCloseSourceDocuments(boolean)), passed PdfDocument will be closed after pages are merged.

      See also PdfDocument.copyPagesTo(int, int, com.itextpdf.kernel.pdf.PdfDocument, int).

      Parameters:
      from - - document, from which pages will be copied
      fromPage - - start page in the range of pages to be copied
      toPage - - end (inclusive) page in the range to be copied
      Returns:
      this PdfMerger instance
    • merge

      public PdfMerger merge (PdfDocument from, List<Integer> pages)
      This method merges pages from the source document to the current one.

      If closeSourceDocuments flag is set to true (see setCloseSourceDocuments(boolean)), passed PdfDocument will be closed after pages are merged.

      See also PdfDocument.copyPagesTo(int, int, com.itextpdf.kernel.pdf.PdfDocument, int).

      Parameters:
      from - - document, from which pages will be copied
      pages - - List of numbers of pages which will be copied
      Returns:
      this PdfMerger instance
    • close

      public void close()
      Closes the current document.

      It is a complete equivalent of calling PdfDocument#close on the PdfDocument passed to the constructor of this PdfMerger instance. This means that it is enough to call close either on passed PdfDocument or on this PdfMerger instance, but there is no need to call them both.