Blog

Ortus PDF v2.0.0 Lucee Extension Released

Luis Majano August 29, 2018

Spread the word

Luis Majano

August 29, 2018

Spread the word


Share your thoughts

 

We are incredibly excited to bring you the latest iteration of our PDF extension for Lucee CFML server. This release brings you Lucee 5.x support and lots of nice container and licensing updates. We have also published it to ForgeBox so you can leverage ForgeBox as your Extensions Provider Authority. Just add https://www.forgebox.io to your Lucee extension provider panel and install away!

Trial Version

We have also included a 60 day trial if you leverage ForgeBox as your installation provider. This way you can test out the extension and see if it fits your needs.

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



<cfpdfformparam name="full_name" value="Ortus Rocks"></cfpdfformparam>
<cfpdfformparam name="exam_date" value="#dateFormat( now(), "mmmm dd, yyyy")# #timeFormat( now(), "medium")#"></cfpdfformparam>
<cfpdfformparam name="strategy_overview" value="Drink a lot of water!"></cfpdfformparam>
<cfpdfformparam name="strategy_tips" value="Eat a lot of cheese!"></cfpdfformparam>

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

πŸš€ ColdBox CLI 8.11: The Era of AI Skills Comes to Every ColdBox & BoxLang App

πŸš€ ColdBox CLI 8.11: The Era of AI Skills Comes to Every ColdBox & BoxLang App

ColdBox CLI 8.11 is here, and it's one of the most significant releases we've shipped for AI-assisted development. This release wires the CLI directly into our brand new public skills directory at skills.boxlang.io, brings our AI tooling in line with industry-wide agent conventions, and introduces a wave of quality-of-life improvements that make AI integration feel less like setup and more like infrastructure.

Luis Majano
Luis Majano
April 30, 2026
πŸ›°οΈ Introducing cbMCP β€” Your ColdBox App, Live to Every AI Agent

πŸ›°οΈ Introducing cbMCP β€” Your ColdBox App, Live to Every AI Agent

Today we're releasing cbMCP, the official ColdBox MCP Server β€” a BoxLang-only module that turns your running ColdBox application into a fully-compliant Model Context Protocol (MCP) server. Plug in any MCP-capable AI client β€” Claude Desktop, VS Code Copilot, Cursor, Codex, Gemini CLI, OpenCode β€” and your AI assistant gets live, read-only introspection across the entire ColdBox platform: routing, handlers, modules, WireBox, CacheBox, LogBox, schedulers, interceptors, and async executors. 🎯

Luis Majano
Luis Majano
April 30, 2026