SlideShare a Scribd company logo
1 of 39
Using ColdFusion to
produce Dynamic
Financial Letters
Mike Collins,
Sr. ColdFusion Consultant
SupportObjective
Today’s Agenda
▪ Walk-thru Financial Use Case
▪ Demonstrate ColdFusion Approaches
▪ CFPDFForm with LiveCycle Forms
▪ CFDocument
▪ CFPDFForm with Acrobat Forms
▪ CFPDF – Flattening, Merging, Archiving
▪ Printing – CFPrint, Cloud Based
Use Case
Use Case – Building Requirements
Legal Team
▪ Designs forms with corporate legal
guidelines, and local, state and federal
regulations
▪ Each change requires legal approval
▪ Your process will be unique depending on
type of document
Business Analyst
• Develops text state regulation rules,
conditions for document
• Produces mock up of Letter using Word with
Color coded comments in the margin
Use Case - Word Doc Requirements
▪ Final Requirements were done using Word
▪ Allowed Legal to proof Word document
▪ Provided QA with Acceptance Criteria
Use Case -AEM Forms Designer
Requirements & Template Generation
Backend
Use Case – Large Organization Letter Generation
Business Analyst Legal
Word Doc
Using Colors and pseudo code and
Comments to show all the variables and
conditional text
LiveCycle Forms Designer
LiveCycle
PDF Template
LiveCycle Forms Process
REST API
DB Java App
CRM
Scheduled
Task
Letter
Printed
and
Mailed
XML
Archived
PDFA
REST API
Types of Forms  Documents  Letters
▪ Invoices and Quotes
▪ Account Statements
▪ Mortgage Documents
▪ Contracts
▪ Medical Documents
▪ Legal Documents
▪ Human Resources
▪ Insurance
▪ Financial Reports
▪ Confidential Reports
Regulations
▪ Federal Regulations
▪ State and Local Regulations
▪ Corporate Regulations
CFPDFForm with
LiveCycle Forms
Using LiveCycle Forms with ColdFusion
▪ Key feature is that it supports expanding tables
<cfpdfform action="populate"
source="PATH AND FILE TO YOUR TEMPLATE PDF#"
XMLdata=“PATH AND FILE TO THE XML WITH VALUES"
destination=“PATH FILE NAME WHERE TO SAVE NEW
PDF" overwrite="true" />
Requirements and Analysis
Backend
Use Case– Large Organization PDF Generation with ColdFusion
Business Analyst Legal
Word Doc
Using Colors and pseudo code and
Comments to show all the variables and
conditional text
AEM Forms Designer
LiveCycle
Dynamic
PDF
ColdFusion
REST APIDB ColdFusion
CRM
Scheduled
Task
Letter
Printed
and
Mailed
XML
Archived
PDFA
REST API
CFPDFForm with LiveCycle Forms
▪ Considerations
▪ Flattening and Archiving may require Adobe Output to do the conversion
▪ https://helpx.adobe.com/aem-forms/6/output-service.html
▪ Need to acquire Forms Designer
▪ Need Forms Designer Expertise
▪ Demo
CFDocument
Requirements and Analysis
Backend
Process Flow – Using ColdFusion CFDocument
Business Analyst Legal
Word Doc
Using Colors and pseudo code and
Comments to show all the variables
and conditional text DB
ColdFusion
CRM
Scheduled
Task
Letter
Printed
and
Mailed
Archived
PDFA
REST API
CFDOCUMENT
▪ CFDocument
▪ CFDocumentItem
▪Header
▪Footer
▪Page Break
▪ CFDocumentSection
▪Can contain it’s own
header and footer
▪Page Number
• The most powerful solution
• Easily script content base
on incoming variables
<CFDocument>
CFML and HTML
</CFDocument>
Using CFDocument
▪ Supports 70+ CSS tags
▪ CFQuery retrieves fields customer
data
▪ Easy to script content:
▪ Corporate, and Government
Regulations
▪ No need for embedding JavaScript
inside PDF to use File:///
Considerations
▪ You are not starting from a PDF
template
▪ Placement of content will rely
on the HTML and CSS
▪ Links to images and CSS files
might need to use File:///
Good Article
▪ http://dnando.github.io/blog/2015/07/01/ge
nerating-accurate-pdfs-using-cfdocument/
CFDocument and Attributes
<cfdocument
format = "PDF"
authPassword = "authentication password"
authUser = "authentication user name"
backgroundVisible = "yes|no"
bookmark = "yes|no"
encryption = "128-bit|40-bit|none"
filename = "filename"
fontEmbed = "yes|no"
formfields = "yes|no"
formsType = "FDF|PDF|HTML|XML"
localUrl = "yes|no"
marginBottom = "number"
marginLeft = "number"
marginRight = "number"
marginTop = "number"
mimeType =
"text/plain|application/xml|image/jpeg|image/png|image/b
mp|image/gif"
name = "output variable name“openpassword = "password to
open protected documents“
orientation = "portrait|landscape“
overwrite = "yes|no"
ownerPassword = "password"
pageHeight = "page height in inches"
pageType = "page type"
pageWidth = "page width in inches"
pdfa = "yes|no"
permissions = "permission list"
permissionspassword = "password to access
restricted permissions"
proxyHost = "IP address or server name for proxy
host"
proxyPassword = "password for the proxy host"
proxyPort = "port of the proxy host"
proxyUser = "user name for the proxy host"
saveAsName = "PDF filename"
scale = "percentage less than 100"
src = "URL|pathname relative to web root"
srcfile = "absolute pathname to a file"
tagged = "yes|no"
unit = "in|cm"
userAgent = "HTTP user agent identifier"
userPassword = "password">
HTML and CFML code
</cfdocument>
CFDocument CF2018 Supported CSS
background background-attachment background-color background-image
background-position background-repeat border border-bottom
border-bottom-color
border-bottom-style (solid border
only)
border-bottom-width border-color
border-left border-left-color border-left-style (solid border only) border-left-width
border-right border-right-color
border-right-style (solid border
only)
border-right-width
border-spacing border-style (solid border only) border-top border-top-color
border-top-style (solid
border only)
border-top-width border-width bottom
clear clip color content (strings, counters only)
counter-increment counter-reset cursor display
float font font-family font-size
font-style font-weight height left
line-height line-style-type margin
margin-bottom margin-left margin-right margin-top
outline outline-color
outline-style (solid, dotted, dashed
only)
outline-width
padding padding-bottom padding-left padding-right
padding-top page-break-after page-break-before page-break-inside
position right text-align (left, right, and center) text-decoration
text-indent top unicode-bidi vertical-align
visibility
white space (normal, nowrap
only)
width z-index
CFDocument
▪ Demo
CFPDFForm &
Acrobat Forms
Requirements and Analysis
Backend
Process Flow – Large Organization using ColdFusion CFPDFForm
Business Analyst Legal
Word Doc
Using Colors and pseudo code and
Comments to show all the variables
and conditional text
DB
ColdFusion
CRM
Scheduled
Task
Letter
Printed
and
Mailed
Archived
PDFA
REST API
Acrobat
PDF(s) with Form
Sample AcroForm
Code to Populate
<cfpdfform action="read" source= “template.pdf” result="formData" />
<cfpdfform action="populate" source=“source1.pdf"
destination=“populated.pdf" overwrite="yes">
<!--- Loop through all the Form Fields and populate them with demo --->
<cfloop collection="#formData#" item="item">
<cfpdfformparam name="#item#" value=“demo" />
</cfloop>
</cfpdfform>
CFPDFForm – Flatten, Archive with CFPDF
Remove interactivity from PDF
<cfpdf action="write” flatten="yes“
source=“populated.pdf" destination="flattened.pdf" overwrite="true" />
Save PDF as a legal archived format
<cfpdf action="archive“ standard=“3b"
source="flattened.pdf" destination=“archived.pdf" overwrite="true“ />
Lastly, Store result archived PDF in read-only location
CFPDFForm
▪ Demo
CFPDF – Merging
CFPDF Features
▪ New with CF2016
▪ Sanitize
▪ Export and import comments
▪ Archive
▪ addAttachments
▪ addStamp
• Merge several PDF documents into one PDF document.
• Delete pages from a PDF document.
• Merge pages from one or more PDF documents and generate a new
PDF document.
• Linearize PDF documents for faster web display.
• Remove interactivity from forms created in Acrobat to generate flat
PDF documents.
• Encrypt and add password protection to PDF documents.
• Generate thumbnail images from PDF documents or pages.
• Add or remove watermarks from PDF documents or pages.
• Retrieve information associated with a PDF document, such as the
software used to generate the file or the author, and set information for a
PDF document, such as the title, author and keywords.
• Create PDF portfolios
• Add and remove header/footer from PDF documents
• Optimize PDF documents
CFPDF Merging
▪ Great for adding standard pieces of content to any document
▪ Conditional Corporate and Government Regulations
▪ Disclaimers
<cfpdf action="merge"
destination="/samtemp/pdfs/new.pdf"
overwrite="yes">
<cfpdfparam source="cfdoc">
<cfpdfparam source="/samtemp/pdfs/pdf2.pdf">
<cfpdfparam source="/samtemp/pdfs/pdf1.pdf">
</cfpdf>
CFPDF - Advanced Mergin with DDX
▪ ColdFusion contains the product
called LiveCycle Assembler
▪ LiveCycle Assembler is a server-
based application that processes
DDX
▪ DDX is a declarative markup
language used to define PDF
output files.
▪ Primary feature is to merge PDFs
or XDPs
The CFPDF action processddx lets you
process DDX instructions.
<DDX xmlns="http://ns.adobe.com/DDX/1.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xsi:schemaLocation="http://ns.adobe.com/DDX/1.0/
coldfusion_ddx.xsd">
<PDF result="Out1">
<PDF source="Doc1"/>
<PDF source="Doc2"/>
</PDF>
</DDX>
CFPDF Archiving
30
PDF  A is the legal Archive Format
▪ PDF is an open standard
▪ Currently there are 3 formats with
PDFA - A fourth is expected this
later in 2019.
▪ CFPDF allows you to save your
PDF in all 3 of the current formats
▪ 1b, 2b or 3b
Learn more: https://en.wikipedia.org/wiki/PDF/A
<cfpdf
action="archive"
source=“archiveme.pdf"
destination = “archived_with_3b.pdf"
standard = "3b"/>
Storing Archived PDFs
Internal CRM Integration
Cloud Based CRM
CFPrint
32
CFPrint
▪ Allows you to send any PDF to any accessible Printer
▪ Account running the ColdFusion server must
have PRINTER_ACCESS_USE access rights for each printer
▪ Setup Batch Printing
cfset aset=StructNew()>
<cfset aset["paper"] = "letter">
<cfset aset["sides"] = "duplex">
<cfset aset["copies"] = "5">
<cfset aset["printer"] = "s1001prn02NTN-2W-HP_BW02">
<cfprint type="pdf" source="myfile.pdf“
attributeStruct="#aset#">
Printer Cloud Integration
▪ https://www.mailform.io/
▪ http://www.docsmit.com
▪ https://www.pc2paper.co.uk/
▪ International providers can save time
and money as well.
▪ Security Compliance
▪ CRM Integration
Cloud Signature
Workflows
Document Signature Workflow
▪ Not Everything needs to be printed
▪ Cost Effective Online Delivery
▪ Many Cloud Signature services exist
▪ Adobe Sign has a complete API that
could be used as well
▪ DocuSign
Using Cloud based Signature Solutions
▪ The Adobe Sign APIs can be used to:
▪ Create and manage generated PDFs
▪ Retrieve signed documents
▪ Embed a signing UI in your app
▪ Send reminders
▪ Retrieve audit trails
▪ Archive signed documents
Summary – What we covered today
▪ Actual Bank Use Case -LiveCycle Form Designer and LiveCycle Server
▪ Three ColdFusion Scenarios
▪ CFPDFFORM with LiveCycle Form Designer
▪ CFDocument
▪ CFPDFFORM with Acrobat Forms
CFPDF for Merging, Flattening and Archiving
CFPrint for Printing
Cloud Based Services for Printing
Cloud Base DocumentSignature Workflows (ie Adobe Sign)
Questions
Using ColdFusion
to produce Dynamic
Financial Letters
Mike Collins,
Sr. ColdFusion Consultant
SupportObjective
mike@supportobjective.com

More Related Content

Similar to Using ColdFusion to Produce Dynamic Letters

10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the worldColdFusionConference
 
Coldfusion
ColdfusionColdfusion
ColdfusionRam
 
Bluebeam Q - Bluebeam eXtreme Conference 2014
Bluebeam Q - Bluebeam eXtreme Conference 2014Bluebeam Q - Bluebeam eXtreme Conference 2014
Bluebeam Q - Bluebeam eXtreme Conference 2014bluebeamslides
 
Language Basics | Coldfusion primer | Chap-1
Language Basics | Coldfusion primer | Chap-1Language Basics | Coldfusion primer | Chap-1
Language Basics | Coldfusion primer | Chap-1Nafis Ahmed
 
Modernizing i5 Applications
Modernizing i5 ApplicationsModernizing i5 Applications
Modernizing i5 ApplicationsZendCon
 
Eform for Small Enterprise
Eform for Small Enterprise Eform for Small Enterprise
Eform for Small Enterprise Sougata Mitra
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution OverviewAndrew Bain
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution OverviewAndrew Bain
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution OverviewAndrew Bain
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution OverviewAndrew Bain
 
ComPDFKit PDF SDK Supporting Cross Platforms and Frameworks.pdf
ComPDFKit PDF SDK Supporting Cross Platforms and Frameworks.pdfComPDFKit PDF SDK Supporting Cross Platforms and Frameworks.pdf
ComPDFKit PDF SDK Supporting Cross Platforms and Frameworks.pdfcompdfkit
 
AirBorn's Digital Transformation leveraging Oracle CX Suite
AirBorn's Digital Transformation leveraging Oracle CX SuiteAirBorn's Digital Transformation leveraging Oracle CX Suite
AirBorn's Digital Transformation leveraging Oracle CX SuiteRobert Kleinschmidt
 
MuleSoftMeetup-B2BIntegrations_using_MuleSoft
MuleSoftMeetup-B2BIntegrations_using_MuleSoftMuleSoftMeetup-B2BIntegrations_using_MuleSoft
MuleSoftMeetup-B2BIntegrations_using_MuleSoftMulesoftMunichMeetup
 
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationLoose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationContrext Solutions
 
Rajesh Vadde SAP Consultant Profile
Rajesh Vadde SAP Consultant  ProfileRajesh Vadde SAP Consultant  Profile
Rajesh Vadde SAP Consultant ProfileRajesh Vadde
 
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI PublisherMohan Dutt
 

Similar to Using ColdFusion to Produce Dynamic Letters (20)

10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world
 
Coldfusion
ColdfusionColdfusion
Coldfusion
 
Web 101
Web 101Web 101
Web 101
 
Bluebeam Q - Bluebeam eXtreme Conference 2014
Bluebeam Q - Bluebeam eXtreme Conference 2014Bluebeam Q - Bluebeam eXtreme Conference 2014
Bluebeam Q - Bluebeam eXtreme Conference 2014
 
Language Basics | Coldfusion primer | Chap-1
Language Basics | Coldfusion primer | Chap-1Language Basics | Coldfusion primer | Chap-1
Language Basics | Coldfusion primer | Chap-1
 
Modernizing i5 Applications
Modernizing i5 ApplicationsModernizing i5 Applications
Modernizing i5 Applications
 
How Browsers Work
How Browsers Work How Browsers Work
How Browsers Work
 
Eform for Small Enterprise
Eform for Small Enterprise Eform for Small Enterprise
Eform for Small Enterprise
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution Overview
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution Overview
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution Overview
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution Overview
 
ComPDFKit PDF SDK Supporting Cross Platforms and Frameworks.pdf
ComPDFKit PDF SDK Supporting Cross Platforms and Frameworks.pdfComPDFKit PDF SDK Supporting Cross Platforms and Frameworks.pdf
ComPDFKit PDF SDK Supporting Cross Platforms and Frameworks.pdf
 
php
phpphp
php
 
WWX 2013 Cocktail
WWX 2013  CocktailWWX 2013  Cocktail
WWX 2013 Cocktail
 
AirBorn's Digital Transformation leveraging Oracle CX Suite
AirBorn's Digital Transformation leveraging Oracle CX SuiteAirBorn's Digital Transformation leveraging Oracle CX Suite
AirBorn's Digital Transformation leveraging Oracle CX Suite
 
MuleSoftMeetup-B2BIntegrations_using_MuleSoft
MuleSoftMeetup-B2BIntegrations_using_MuleSoftMuleSoftMeetup-B2BIntegrations_using_MuleSoft
MuleSoftMeetup-B2BIntegrations_using_MuleSoft
 
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationLoose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
 
Rajesh Vadde SAP Consultant Profile
Rajesh Vadde SAP Consultant  ProfileRajesh Vadde SAP Consultant  Profile
Rajesh Vadde SAP Consultant Profile
 
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
 

Recently uploaded

Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfryanfarris8
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 

Recently uploaded (20)

Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 

Using ColdFusion to Produce Dynamic Letters

  • 1. Using ColdFusion to produce Dynamic Financial Letters Mike Collins, Sr. ColdFusion Consultant SupportObjective
  • 2. Today’s Agenda ▪ Walk-thru Financial Use Case ▪ Demonstrate ColdFusion Approaches ▪ CFPDFForm with LiveCycle Forms ▪ CFDocument ▪ CFPDFForm with Acrobat Forms ▪ CFPDF – Flattening, Merging, Archiving ▪ Printing – CFPrint, Cloud Based
  • 4. Use Case – Building Requirements Legal Team ▪ Designs forms with corporate legal guidelines, and local, state and federal regulations ▪ Each change requires legal approval ▪ Your process will be unique depending on type of document Business Analyst • Develops text state regulation rules, conditions for document • Produces mock up of Letter using Word with Color coded comments in the margin
  • 5. Use Case - Word Doc Requirements ▪ Final Requirements were done using Word ▪ Allowed Legal to proof Word document ▪ Provided QA with Acceptance Criteria
  • 6. Use Case -AEM Forms Designer
  • 7. Requirements & Template Generation Backend Use Case – Large Organization Letter Generation Business Analyst Legal Word Doc Using Colors and pseudo code and Comments to show all the variables and conditional text LiveCycle Forms Designer LiveCycle PDF Template LiveCycle Forms Process REST API DB Java App CRM Scheduled Task Letter Printed and Mailed XML Archived PDFA REST API
  • 8. Types of Forms Documents Letters ▪ Invoices and Quotes ▪ Account Statements ▪ Mortgage Documents ▪ Contracts ▪ Medical Documents ▪ Legal Documents ▪ Human Resources ▪ Insurance ▪ Financial Reports ▪ Confidential Reports Regulations ▪ Federal Regulations ▪ State and Local Regulations ▪ Corporate Regulations
  • 10. Using LiveCycle Forms with ColdFusion ▪ Key feature is that it supports expanding tables <cfpdfform action="populate" source="PATH AND FILE TO YOUR TEMPLATE PDF#" XMLdata=“PATH AND FILE TO THE XML WITH VALUES" destination=“PATH FILE NAME WHERE TO SAVE NEW PDF" overwrite="true" />
  • 11. Requirements and Analysis Backend Use Case– Large Organization PDF Generation with ColdFusion Business Analyst Legal Word Doc Using Colors and pseudo code and Comments to show all the variables and conditional text AEM Forms Designer LiveCycle Dynamic PDF ColdFusion REST APIDB ColdFusion CRM Scheduled Task Letter Printed and Mailed XML Archived PDFA REST API
  • 12. CFPDFForm with LiveCycle Forms ▪ Considerations ▪ Flattening and Archiving may require Adobe Output to do the conversion ▪ https://helpx.adobe.com/aem-forms/6/output-service.html ▪ Need to acquire Forms Designer ▪ Need Forms Designer Expertise ▪ Demo
  • 14. Requirements and Analysis Backend Process Flow – Using ColdFusion CFDocument Business Analyst Legal Word Doc Using Colors and pseudo code and Comments to show all the variables and conditional text DB ColdFusion CRM Scheduled Task Letter Printed and Mailed Archived PDFA REST API
  • 15. CFDOCUMENT ▪ CFDocument ▪ CFDocumentItem ▪Header ▪Footer ▪Page Break ▪ CFDocumentSection ▪Can contain it’s own header and footer ▪Page Number • The most powerful solution • Easily script content base on incoming variables <CFDocument> CFML and HTML </CFDocument>
  • 16. Using CFDocument ▪ Supports 70+ CSS tags ▪ CFQuery retrieves fields customer data ▪ Easy to script content: ▪ Corporate, and Government Regulations ▪ No need for embedding JavaScript inside PDF to use File:/// Considerations ▪ You are not starting from a PDF template ▪ Placement of content will rely on the HTML and CSS ▪ Links to images and CSS files might need to use File:/// Good Article ▪ http://dnando.github.io/blog/2015/07/01/ge nerating-accurate-pdfs-using-cfdocument/
  • 17. CFDocument and Attributes <cfdocument format = "PDF" authPassword = "authentication password" authUser = "authentication user name" backgroundVisible = "yes|no" bookmark = "yes|no" encryption = "128-bit|40-bit|none" filename = "filename" fontEmbed = "yes|no" formfields = "yes|no" formsType = "FDF|PDF|HTML|XML" localUrl = "yes|no" marginBottom = "number" marginLeft = "number" marginRight = "number" marginTop = "number" mimeType = "text/plain|application/xml|image/jpeg|image/png|image/b mp|image/gif" name = "output variable name“openpassword = "password to open protected documents“ orientation = "portrait|landscape“ overwrite = "yes|no" ownerPassword = "password" pageHeight = "page height in inches" pageType = "page type" pageWidth = "page width in inches" pdfa = "yes|no" permissions = "permission list" permissionspassword = "password to access restricted permissions" proxyHost = "IP address or server name for proxy host" proxyPassword = "password for the proxy host" proxyPort = "port of the proxy host" proxyUser = "user name for the proxy host" saveAsName = "PDF filename" scale = "percentage less than 100" src = "URL|pathname relative to web root" srcfile = "absolute pathname to a file" tagged = "yes|no" unit = "in|cm" userAgent = "HTTP user agent identifier" userPassword = "password"> HTML and CFML code </cfdocument>
  • 18. CFDocument CF2018 Supported CSS background background-attachment background-color background-image background-position background-repeat border border-bottom border-bottom-color border-bottom-style (solid border only) border-bottom-width border-color border-left border-left-color border-left-style (solid border only) border-left-width border-right border-right-color border-right-style (solid border only) border-right-width border-spacing border-style (solid border only) border-top border-top-color border-top-style (solid border only) border-top-width border-width bottom clear clip color content (strings, counters only) counter-increment counter-reset cursor display float font font-family font-size font-style font-weight height left line-height line-style-type margin margin-bottom margin-left margin-right margin-top outline outline-color outline-style (solid, dotted, dashed only) outline-width padding padding-bottom padding-left padding-right padding-top page-break-after page-break-before page-break-inside position right text-align (left, right, and center) text-decoration text-indent top unicode-bidi vertical-align visibility white space (normal, nowrap only) width z-index
  • 21. Requirements and Analysis Backend Process Flow – Large Organization using ColdFusion CFPDFForm Business Analyst Legal Word Doc Using Colors and pseudo code and Comments to show all the variables and conditional text DB ColdFusion CRM Scheduled Task Letter Printed and Mailed Archived PDFA REST API Acrobat PDF(s) with Form
  • 23. Code to Populate <cfpdfform action="read" source= “template.pdf” result="formData" /> <cfpdfform action="populate" source=“source1.pdf" destination=“populated.pdf" overwrite="yes"> <!--- Loop through all the Form Fields and populate them with demo ---> <cfloop collection="#formData#" item="item"> <cfpdfformparam name="#item#" value=“demo" /> </cfloop> </cfpdfform>
  • 24. CFPDFForm – Flatten, Archive with CFPDF Remove interactivity from PDF <cfpdf action="write” flatten="yes“ source=“populated.pdf" destination="flattened.pdf" overwrite="true" /> Save PDF as a legal archived format <cfpdf action="archive“ standard=“3b" source="flattened.pdf" destination=“archived.pdf" overwrite="true“ /> Lastly, Store result archived PDF in read-only location
  • 27. CFPDF Features ▪ New with CF2016 ▪ Sanitize ▪ Export and import comments ▪ Archive ▪ addAttachments ▪ addStamp • Merge several PDF documents into one PDF document. • Delete pages from a PDF document. • Merge pages from one or more PDF documents and generate a new PDF document. • Linearize PDF documents for faster web display. • Remove interactivity from forms created in Acrobat to generate flat PDF documents. • Encrypt and add password protection to PDF documents. • Generate thumbnail images from PDF documents or pages. • Add or remove watermarks from PDF documents or pages. • Retrieve information associated with a PDF document, such as the software used to generate the file or the author, and set information for a PDF document, such as the title, author and keywords. • Create PDF portfolios • Add and remove header/footer from PDF documents • Optimize PDF documents
  • 28. CFPDF Merging ▪ Great for adding standard pieces of content to any document ▪ Conditional Corporate and Government Regulations ▪ Disclaimers <cfpdf action="merge" destination="/samtemp/pdfs/new.pdf" overwrite="yes"> <cfpdfparam source="cfdoc"> <cfpdfparam source="/samtemp/pdfs/pdf2.pdf"> <cfpdfparam source="/samtemp/pdfs/pdf1.pdf"> </cfpdf>
  • 29. CFPDF - Advanced Mergin with DDX ▪ ColdFusion contains the product called LiveCycle Assembler ▪ LiveCycle Assembler is a server- based application that processes DDX ▪ DDX is a declarative markup language used to define PDF output files. ▪ Primary feature is to merge PDFs or XDPs The CFPDF action processddx lets you process DDX instructions. <DDX xmlns="http://ns.adobe.com/DDX/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://ns.adobe.com/DDX/1.0/ coldfusion_ddx.xsd"> <PDF result="Out1"> <PDF source="Doc1"/> <PDF source="Doc2"/> </PDF> </DDX>
  • 31. PDF A is the legal Archive Format ▪ PDF is an open standard ▪ Currently there are 3 formats with PDFA - A fourth is expected this later in 2019. ▪ CFPDF allows you to save your PDF in all 3 of the current formats ▪ 1b, 2b or 3b Learn more: https://en.wikipedia.org/wiki/PDF/A <cfpdf action="archive" source=“archiveme.pdf" destination = “archived_with_3b.pdf" standard = "3b"/> Storing Archived PDFs Internal CRM Integration Cloud Based CRM
  • 33. CFPrint ▪ Allows you to send any PDF to any accessible Printer ▪ Account running the ColdFusion server must have PRINTER_ACCESS_USE access rights for each printer ▪ Setup Batch Printing cfset aset=StructNew()> <cfset aset["paper"] = "letter"> <cfset aset["sides"] = "duplex"> <cfset aset["copies"] = "5"> <cfset aset["printer"] = "s1001prn02NTN-2W-HP_BW02"> <cfprint type="pdf" source="myfile.pdf“ attributeStruct="#aset#">
  • 34. Printer Cloud Integration ▪ https://www.mailform.io/ ▪ http://www.docsmit.com ▪ https://www.pc2paper.co.uk/ ▪ International providers can save time and money as well. ▪ Security Compliance ▪ CRM Integration
  • 36. Document Signature Workflow ▪ Not Everything needs to be printed ▪ Cost Effective Online Delivery ▪ Many Cloud Signature services exist ▪ Adobe Sign has a complete API that could be used as well ▪ DocuSign
  • 37. Using Cloud based Signature Solutions ▪ The Adobe Sign APIs can be used to: ▪ Create and manage generated PDFs ▪ Retrieve signed documents ▪ Embed a signing UI in your app ▪ Send reminders ▪ Retrieve audit trails ▪ Archive signed documents
  • 38. Summary – What we covered today ▪ Actual Bank Use Case -LiveCycle Form Designer and LiveCycle Server ▪ Three ColdFusion Scenarios ▪ CFPDFFORM with LiveCycle Form Designer ▪ CFDocument ▪ CFPDFFORM with Acrobat Forms CFPDF for Merging, Flattening and Archiving CFPrint for Printing Cloud Based Services for Printing Cloud Base DocumentSignature Workflows (ie Adobe Sign)
  • 39. Questions Using ColdFusion to produce Dynamic Financial Letters Mike Collins, Sr. ColdFusion Consultant SupportObjective mike@supportobjective.com