Whatever message this page gives is out now! Go check it out!

About assembling PDF documents

Last update:
May 18, 2026
You use the cfpdf tag to assemble PDF documents in Adobe ColdFusion. The tag provides several actions for creating unified output files from multiple sources, as the following table shows:
ActionDescription
addWatermark
Adds a watermark image to one or more pages in a PDF document.
deletePages
Deletes one or more pages from a PDF document.
addheader
Adds header to a PDF document.
addfooter
Adds footer to a PDF document.
removeheaderfooter
Removes header and footer from a PDF document.
optimize
Reduces the quality of PDF documents by image downsampling and removing unused objects.
extracttext
Extracts text from the specified pages or the entire PDF documents
extractimage
Extracts images from the specified pages or the entire PDF document
transform
Performs page level transformations
getInfo
Extracts information associated with the PDF document, such as the author, title, and creation date.
merge
Assembles PDF documents or pages from PDF source files into one output file.
processddx
Extends the cfpdf tag by providing a subset of Adobe® LiveCycle™ Assembler functionality. This action is the default.
protect
Password-protects and encrypts a PDF document.
read
Reads a PDF document into a ColdFusion variable.
removeWatermark
Removes watermarks from specified pages in a PDF document.
setInfo
Sets the Title, Subject, Author, and Keywords for a PDF document,
thumbnail
Generates thumbnail images from specified pages in a PDF document.
write
Writes PDF output to a file. Also use to flatten forms created in Acrobat and linearize documents.
Note: You cannot use the cfpdf tag to create a PDF document from scratch. To create a PDF document from HTML content, use the cfdocument tag. Also, you can use Report Builder to generate a report as a PDF document. Instead of writing a PDF document to file, you can specify a PDF variable generated as the source for the cfpdf tag.
All but one of the cfpdf tag actions provide shortcuts to common tasks; for example, with one line of code, you can add a watermark image to one or more pages in an output file, merge all the PDF documents in a directory into a single output file, or password-protect a PDF document. ColdFusion provides two ways to extend the functionality of the cfpdf tag: the cfpdfparam tag and the processddx action. You use the cfpdfparam tag only with the merge action of the cfpdf tag. The cfpdfparam tag gives you more control over which files are included in the output file; for example you can merge pages from multiple files in different directories. The processddx action extends the cfpdf tag by providing a subset of Adobe LiveCycle Assembler functionality. You use the processddx action to process Document Description XML (DDX) instructions explained in  Using DDX to perform advanced tasks . Using DDX instructions requires more coding, but it lets you perform complex tasks, such as generating a table of contents and adding automatic page numbers. Also, ColdFusion provides three functions for PDF file, DDX file, and PDF variable verification:
FunctionDescription
Determines whether a DDX file, path, and instructions are not null and are valid. Also verifies that ColdFusion supports the schema used for the DDX instructions.
Determines whether a PDF source file, path, and version are valid and supported on the server running ColdFusion. Also verifies whether a PDF file is corrupted.
Determines whether a PDF object stored in memory is valid. Also verifies the contents of PDF variables generated by the cfdocument and cfpdf tags.
The following table describes a few document assembly tasks that you can perform with ColdFusion:
TaskAction
Add a generated table of contents to a PDF document
cfpdf action="processddx" with the TableOfContents DDX element{{cfpdf action="extracttext"}} can also be used.
Add automatic page numbers to a PDF document
cfpdf action="processddx" with the _PageNumber and _LastPagenumber built-in keys. Valid only in the Header and Footer DDX elements.
Add headers and footers to a PDF document
cfpdf action="processddx" with the Header and Footer DDX elementsor{{cfpdf action="addheader"}} and cfpdf action="addfooter"
Add or remove watermarks
cfpdf action="processddx" with the Watermark and Background DDX elements{{cfpdf action="addWatermark"}} and cfpdf action="removeWatermark"
Change the encryption algorithm for PDF documents
cfpdf action="protect" encrypt="encryption algorithm"
Change user permissions on a PDF document
cfpdf action="protect" newOwnerPassword="xxxxx"permissions="comma-separated list"
Delete pages from a PDF document
cfpdf action="deletePages"
Extract text from a PDF document and export it to an XML file
cfpdf action="processddx" with the DocumentText DDX element
Flatten (remove interactivity from) forms created in Acrobat
cfpdf action="write" flatten="yes"
Generate thumbnail images from PDF document pages
cfpdf action="thumbnail"pages="}}page numbers{{"
Linearize PDF documents for faster web display
cfpdf action="write" saveOption="linear"
Merge pages and page ranges from multiple documents in different locations into one PDF document
cfpdf action="merge" with multiple cfpdfparam tags
Merge PDF documents in a directory into one PDF document
cfpdf action="merge" directory="path"
Password-protect PDF documents
cfpdf action="protect" newUserPassword="xxxx"
Set the initial view for a PDF document
cfpdf action="processddx" with the InitialViewProfile DDX element
Create different versions of a PDF document
Duplicate function to clone PDF variables

More like this

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page