The CSi IntelleDoc Solutions™ software components can render a set of documents for a transaction as individual PDF files, with one PDF per document, or as a combined PDF, with all or a subset of documents required for the transaction contained in a single PDF.
Combined PDFs offer an important benefit to financial institutions. Because all pages of all documents for the transaction will be sent to a printer as a single print job, a combined PDF eliminates the possibility that documents from two different transactions will be interleaved in a printer’s output tray.
Some platform workflows render an initial set of individual PDF files for preview and data entry. Once all documents for the transaction are complete, the full set is printed. One way to accomplish this is to re-render all documents into a single PDF file using CSi’s Transaction Server.
PdfCombine provides partners with another option. It joins together into a single file the PDF files that have already been rendered, thus avoiding the additional time and memory allocation required to re-process the transaction data and re-render the documents.
The PDF files generated by CSi IntelleDoc Solutions™ software are encrypted and locked to prevent their modification. PdfCombine is designed to decrypt the files and generate a unified copy that is again encrypted and locked to prevent modification.
Unencrypted, unlocked PDF files may also be used as input for PdfCombine. However, PdfCombine output is always encrypted and locked, even if all input files are unencrypted.
PdfCombine is a stand-alone application that may be run from the command line or as a .NET class library. It does not require a license key or the presence of other CSi IntelleDoc Solutions components in order to run.
It is distributed by CSi as part of the Transaction Manager Suite of components included with the CSi IntelleDoc Solutions.
PdfCombine can be run as a command-line application (PdfCombine.exe) or as a .NET class library (csi.PdfCombineCore.dll).
C:\> PdfCombine <inputPdfFiles> /verbose[+/-] /quiet[+/-] /output:<path>
Arguments can be represented in either long or short form. Argument names are not case sensitive.
Long Form | Short Form | Description |
---|---|---|
<inputPdfFiles> | None | Specifies the file paths of the PDF files to be processed into a combined PDF. A single space is used to separate file paths. |
/quiet | /q | Specifies the level of message detail included in console output. When enabled, this argument is optimal for batch processing, as it suppresses console output. |
/verbose | /v | Specifies the level of message detail included in console output. When enabled, this argument provides more detailed console output. |
/output: <path> | /out | Specifies the destination file path for the combined PDF file to be created. |
Example:
C:\> PdfCombine doc1.pdf doc1.pdf /v+ /out:combined\_doc.pdf
Status CombineFile( FileDataTransport[] inputPdfFiles, FileDataTransport outputPdfFile )
Status CombineFile( FileDataTransport[] inputPdfFiles, FileDataTransport outputPdfFile, bool insertBlankPagesForDuplexPrinting )
inputPdfFiles is a collection of PDF file specifications that designate the input PDF files. Wrapping this information into a FileData object allows each file to be specified using a UNC file path or to be streamed inline as an encoded data block.
outputPdfFile specifies how the resulting combined PDF file should be returned: written to a file or streamed back as an encoded data block.
insertBlankPagesForDuplexPrinting indicates whether a blank page should be inserted at the end of documents with an odd number of pages to ensure that the first page of the next document does not print on the back of the last page of the preceding document.
inputPdfs is a collection of PDF file specifications that designate the input PDF files. Wrapping this information into a FileData object allows each file to be specified using a UNC file path or to be streamed inline as an encoded data block. This method specifies if each PDF document is to be rendered as simplex or duplex. When it is duplex, a blank page is inserted as necessary at the end of documents with an odd number of pages to ensure that the first page of the next document does not print on the back of the last page of the preceding document.
outputPdf specifies how the resulting combined PDF file should be returned: written to a file or streamed back as an encoded data block. This method specifies if the combined PDF document set is to be rendered as simplex or duplex. When it is duplex, a blank page will be inserted as necessary at the end of documents with an odd number of pages to ensure that the first page of the next document does not print on the back of the last page of the preceding document.
// Combine the two input files into a single output file.*
FileData[] inputFiles = new FileData[2];
inputFiles[0] = new FileData( FileData.StorageType.unc, pathToPdf1 );
inputFiles[0].Type = FileData.FileType.pdf;
inputFiles[1] = new FileData( FileData.StorageType.unc, pathToPdf2 );
inputFiles[1].Type = FileData.FileType.pdf;
FileData outputFile = new FileData( FileData.StorageType.unc, outputPdfFileName );
outputFile.Type = FileData.FileType.pdf;
Status status = PdfCombineCore.CombineFiles( inputFiles, outputFile );
// Verify that no errors occurred.
if( status.HasError)
{
...
}