Class PDFMergerUtility


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

      Constructors 
      Constructor Description
      PDFMergerUtility()
      Instantiate a new PDFMergerUtility.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addSource​(java.io.File source)
      Add a source file to the list of files to merge.
      void addSource​(java.io.InputStream source)
      Add a source to the list of documents to merge.
      void addSource​(java.lang.String source)
      Add a source file to the list of files to merge.
      void addSources​(java.util.List<java.io.InputStream> sourcesList)
      Add a list of sources to the list of documents to merge.
      void appendDocument​(PDDocument destination, PDDocument source)
      append all pages from source to destination.
      java.lang.String getDestinationFileName()
      Get the name of the destination file.
      java.io.OutputStream getDestinationStream()
      Get the destination OutputStream.
      boolean isIgnoreAcroFormErrors()
      Indicates if acroform errors are ignored or not.
      void mergeDocuments()
      Merge the list of source documents, saving the result in the destination file.
      void mergeDocumentsNonSeq​(RandomAccess scratchFile)
      Merge the list of source documents with the non sequential parser, saving the result in the destination file.
      void setDestinationFileName​(java.lang.String destination)
      Set the name of the destination file.
      void setDestinationStream​(java.io.OutputStream destStream)
      Set the destination OutputStream.
      void setIgnoreAcroFormErrors​(boolean ignoreAcroFormErrorsValue)
      Set to true to ignore acroform errors.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PDFMergerUtility

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

      • getDestinationFileName

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

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

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

        public void setDestinationStream​(java.io.OutputStream destStream)
        Set the destination OutputStream.
        Parameters:
        destStream - The destination to set.
      • addSource

        public void addSource​(java.lang.String source)
        Add a source file to the list of files to merge.
        Parameters:
        source - Full path and file name of source document.
      • addSource

        public void addSource​(java.io.File source)
        Add a source file to the list of files to merge.
        Parameters:
        source - File representing source document
      • addSource

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

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

        public void mergeDocuments()
                            throws java.io.IOException,
                                   COSVisitorException
        Merge the list of source documents, saving the result in the destination file.
        Throws:
        java.io.IOException - If there is an error saving the document.
        COSVisitorException - If an error occurs while saving the destination file.
      • mergeDocumentsNonSeq

        public void mergeDocumentsNonSeq​(RandomAccess scratchFile)
                                  throws java.io.IOException,
                                         COSVisitorException
        Merge the list of source documents with the non sequential parser, saving the result in the destination file.
        Parameters:
        scratchFile - location to store temp PDFBox data for this output document, can be null if temp data is to be stored in memory
        Throws:
        java.io.IOException - If there is an error saving the document.
        COSVisitorException - If an error occurs while saving the destination file.
      • appendDocument

        public void appendDocument​(PDDocument destination,
                                   PDDocument source)
                            throws java.io.IOException
        append all pages from source to destination.
        Parameters:
        destination - the document to receive the pages
        source - the document originating the new pages
        Throws:
        java.io.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