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

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

As we approach a stable release of BoxLang and our continued marketing reaches more folks, many have asked about its purpose. Why create a new language when the JVM ecosystem already includes established languages like Kotlin, Groovy, and Scala, to name a few.

Luis Majano
Luis Majano
December 18, 2024
ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox gives you the flexibility to create domain-specific routes, making it perfect for multi-tenant applications or projects that need to respond differently based on the domain or subdomain being accessed. In this tip, we’ll dive into how to use the withDomain() method to create routes that match specific domains or sub-domains.

Maria Jose Herrera
Maria Jose Herrera
December 18, 2024