Class PDFMergerExample

    • Field Detail

      • LOG

        private static final org.apache.commons.logging.Log LOG
    • Constructor Detail

      • PDFMergerExample

        public PDFMergerExample()
    • Method Detail

      • merge

        public java.io.InputStream merge​(java.util.List<RandomAccessRead> sources)
                                  throws java.io.IOException
        Creates a compound PDF document from a list of input documents.

        The merged document is PDF/A-1b compliant, provided the source documents are as well. It contains document properties title, creator and subject, currently hard-coded.

        Parameters:
        sources - list of source PDF documents as RandomAccessRead.
        Returns:
        compound PDF document as a readable input stream.
        Throws:
        java.io.IOException - if anything goes wrong during PDF merge.
      • createPDFMergerUtility

        private PDFMergerUtility createPDFMergerUtility​(java.util.List<RandomAccessRead> sources,
                                                        java.io.ByteArrayOutputStream mergedPDFOutputStream)
      • createPDFDocumentInfo

        private PDDocumentInformation createPDFDocumentInfo​(java.lang.String title,
                                                            java.lang.String creator,
                                                            java.lang.String subject)
      • createXMPMetadata

        private PDMetadata createXMPMetadata​(COSStream cosStream,
                                             java.lang.String title,
                                             java.lang.String creator,
                                             java.lang.String subject)
                                      throws BadFieldValueException,
                                             javax.xml.transform.TransformerException,
                                             java.io.IOException
        Throws:
        BadFieldValueException
        javax.xml.transform.TransformerException
        java.io.IOException