Class PDFMergerUtility

java.lang.Object
org.apache.pdfbox.multipdf.PDFMergerUtility

public class PDFMergerUtility extends Object
This class will take a list of pdf documents and merge them, saving the result in a new document.
Author:
Ben Litchfield
  • Constructor Details

    • PDFMergerUtility

      public PDFMergerUtility()
      Instantiate a new PDFMergerUtility.
  • Method Details

    • getAcroFormMergeMode

      public PDFMergerUtility.AcroFormMergeMode getAcroFormMergeMode()
      Get the merge mode to be used for merging AcroForms between documents PDFMergerUtility.AcroFormMergeMode
    • setAcroFormMergeMode

      public void setAcroFormMergeMode(PDFMergerUtility.AcroFormMergeMode theAcroFormMergeMode)
      Set the merge mode to be used for merging AcroForms between documents PDFMergerUtility.AcroFormMergeMode
    • setDocumentMergeMode

      public void setDocumentMergeMode(PDFMergerUtility.DocumentMergeMode theDocumentMergeMode)
      Set the merge mode to be used for merging documents PDFMergerUtility.DocumentMergeMode
    • getDocumentMergeMode

      public PDFMergerUtility.DocumentMergeMode getDocumentMergeMode()
      Get the merge mode to be used for merging documents PDFMergerUtility.DocumentMergeMode
    • getDestinationFileName

      public String getDestinationFileName()
      Get the name of the destination file.
      Returns:
      Returns the destination.
    • setDestinationFileName

      public void setDestinationFileName(String destination)
      Set the name of the destination file.
      Parameters:
      destination - The destination to set.
    • getDestinationStream

      public OutputStream getDestinationStream()
      Get the destination OutputStream.
      Returns:
      Returns the destination OutputStream.
    • setDestinationStream

      public void setDestinationStream(OutputStream destStream)
      Set the destination OutputStream.
      Parameters:
      destStream - The destination to set.
    • getDestinationDocumentInformation

      public PDDocumentInformation getDestinationDocumentInformation()
      Get the destination document information that is to be set in mergeDocuments(org.apache.pdfbox.io.MemoryUsageSetting). The default is null, which means that it is ignored.
      Returns:
      The destination document information.
    • setDestinationDocumentInformation

      public void setDestinationDocumentInformation(PDDocumentInformation info)
      Set the destination document information that is to be set in mergeDocuments(org.apache.pdfbox.io.MemoryUsageSetting). The default is null, which means that it is ignored.
      Parameters:
      info - The destination document information.
    • getDestinationMetadata

      public PDMetadata getDestinationMetadata()
      Set the destination metadata that is to be set in mergeDocuments(org.apache.pdfbox.io.MemoryUsageSetting). The default is null, which means that it is ignored.
      Returns:
      The destination metadata.
    • setDestinationMetadata

      public void setDestinationMetadata(PDMetadata meta)
      Set the destination metadata that is to be set in mergeDocuments(org.apache.pdfbox.io.MemoryUsageSetting). The default is null, which means that it is ignored.
      Parameters:
      meta - The destination metadata.
    • addSource

      public void addSource(String source) throws FileNotFoundException
      Add a source file to the list of files to merge.
      Parameters:
      source - Full path and file name of source document.
      Throws:
      FileNotFoundException - If the file doesn't exist
    • addSource

      public void addSource(File source) throws FileNotFoundException
      Add a source file to the list of files to merge.
      Parameters:
      source - File representing source document
      Throws:
      FileNotFoundException - If the file doesn't exist
    • addSource

      public void addSource(InputStream source)
      Add a source to the list of documents to merge.
      Parameters:
      source - InputStream representing source document
    • addSources

      public void addSources(List<InputStream> sourcesList)
      Add a list of sources to the list of documents to merge.
      Parameters:
      sourcesList - List of InputStream objects representing source documents
    • mergeDocuments

      @Deprecated public void mergeDocuments() throws IOException
      Merge the list of source documents, saving the result in the destination file.
      Throws:
      IOException - If there is an error saving the document.
    • mergeDocuments

      public void mergeDocuments(MemoryUsageSetting memUsageSetting) throws IOException
      Merge the list of source documents, saving the result in the destination file. The source list is not reset after merge. If you want to merge one document at a time, then it's better to use appendDocument(org.apache.pdfbox.pdmodel.PDDocument, org.apache.pdfbox.pdmodel.PDDocument).
      Parameters:
      memUsageSetting - defines how memory is used for buffering PDF streams; in case of null unrestricted main memory is used
      Throws:
      IOException - If there is an error saving the document.
    • appendDocument

      public void appendDocument(PDDocument destination, PDDocument source) throws IOException
      append all pages from source to destination.
      Parameters:
      destination - the document to receive the pages
      source - the document originating the new pages
      Throws:
      IOException - If there is an error accessing data from either document.
    • isIgnoreAcroFormErrors

      public boolean isIgnoreAcroFormErrors()
      Indicates if acroform errors are ignored or not.
      Returns:
      true if acroform errors are ignored
    • setIgnoreAcroFormErrors

      public void setIgnoreAcroFormErrors(boolean ignoreAcroFormErrorsValue)
      Set to true to ignore acroform errors.
      Parameters:
      ignoreAcroFormErrorsValue - true if acroform errors should be ignored