Blog

Luis Majano

March 14, 2016

Spread the word


Share your thoughts

 

We are extremely excited to bring to the masses our PDF extension for Lucee CFML server. This has been in the works since the Railo days and we have finally spiced it up to release it publicly. So what exactly does the Ortus PDF extension do? I am glad you asked. Let's check this extension out.

Overview

The Ortus PDF Lucee Extension adds to any Lucee engine the missing PDF capabilities you were longing for and enhancing some PDF capabilities as well. The extension contains several new CFML built-in tags and functions (coming soon) that will help you manipulate and work with PDF documents. Our extension is completely documented and professionaly supported via our Ortus Support services.

Implemented Tags:

  • cfpdfform
  • cfpdfformparam

 

The Ortus PDF Lucee Extension will allow you to do PDF manipulation like prefilling PDF form fields from a database, native CFML structures, JSON, FDF and even XML data. It can also process PDF form data by extracting to native CFML structures, XML, JSON, FDF or files. It can also flatten PDF files to lock in PDF form changes and much more. Please see our capabilities section for much more detail about our features.

 

 

Populate Using Sub Tags



	
	
	
	
	
	

Populate Using Native CFML Structs


data = {
	"full_name" = "Ortus Rocks",
	"exam_date" = "#dateFormat( now(), "mmmm dd, yyyy")# #timeFormat( now(), "medium")#",
	"strategy_overview" = "Drink a lot of water!",
	"strategy_tips"	= "Eat a lot of cheese!"
};
pdfform 
	action="populate" 
	source="#datapath#/report.pdf" 
	overwrite="true"
	overwriteData="true"
	structData=data
	flatten="true";

Populate Using JSON


jsonData = '{
	"full_name"	: "Ortus Rocks",
	"exam_date"	: "#dateFormat( now(), "mmmm dd, yyyy")# #timeFormat( now(), "medium")#",
	"strategy_overview" : "Drink a lot of water!",
	"strategy_tips" : "Eat a lot of cheese!"
}';
pdfform 
	action="populate" 
	source="#datapath#/report.pdf" 
	overwrite="true"
	overwriteData="true"
	jsonData="#jsonData#"
	flatten="true";

Reading a PDF Form


pdfform 
	action="read"
	source="#dataPath#/report.pdf"
	result="formData"
	jsonData="jsonData";
// Native Struct
writeDump( formData );
// JSON Data
writeDump( jsonData );

 

This is just a taste of the capabilities you can do with our extension. We have tons of features coming in future releases and we would love to have yoru input as well.

 

Add Your Comment

Recent Entries

Inherited a CFML Application With Few Tests? Here’s Where to Start!

Inherited a CFML Application With Few Tests? Here’s Where to Start!

You need to change an application that has been running for years.

It might be a ColdFusion customer portal, a Lucee application supporting internal operations, or a CFML system your team is preparing to modernize. People depend on it, but some of its behavior lives in old tickets, scattered documentation, and the memory of whoever has supported it longest.

Now a release is approaching. You know more testing would help. The difficult part is deciding where to begin without putting every other priority on hold.

Start with one important workflow and build evidence around what it needs to do.

Explore Ortus Quality Assurance Services

Maria Jose Herrera
Maria Jose Herrera
October 27, 2026
Your ColdFusion Upgrade Passed. Did Your Business Workflows?

Your ColdFusion Upgrade Passed. Did Your Business Workflows?

The server restarted. The administrator shows the expected version. Your homepage loads, and a few familiar screens look fine.

Would you tell the business the upgrade is complete?

Consider an illustrative scenario: a customer submits an order after an upgrade. The application saves it and displays a confirmation page. But the confirmation email never arrives, and the scheduled process that sends the order to fulfillment has not completed.

From the browser, the transaction...

Maria Jose Herrera
Maria Jose Herrera
October 22, 2026