Class PdfMerger

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

public class PdfMerger extends Object
Helper class to merge a number of existing documents into one.
  • 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

      @Deprecated public PdfMerger (PdfDocument pdfDocument, boolean mergeTags, boolean mergeOutlines)
      Deprecated.
      use PdfMerger(PdfDocument, PdfMergerProperties) constructor
      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()
    • PdfMerger

      public PdfMerger (PdfDocument pdfDocument, PdfMergerProperties properties)
      This class is used to merge a number of existing documents into one.
      Parameters:
      pdfDocument - the document into which source documents will be merged
      properties - properties for the created PdfMerger
  • 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
    • merge

      public PdfMerger merge (PdfDocument from, List<Integer> pages, IPdfPageExtraCopier copier)
      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
      copier - - a copier which bears a special copy logic. May be null. It is recommended to use the same instance of IPdfPageExtraCopier for the same output document.
      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.