SlideShare a Scribd company logo
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 world
ColdFusionConference
 
Coldfusion
ColdfusionColdfusion
Coldfusion
Ram
 
Web 101
Web 101Web 101
Web 101
Mike Feltman
 
Bluebeam Q - Bluebeam eXtreme Conference 2014
Bluebeam Q - Bluebeam eXtreme Conference 2014Bluebeam Q - Bluebeam eXtreme Conference 2014
Bluebeam Q - Bluebeam eXtreme Conference 2014
bluebeamslides
 
Language Basics | Coldfusion primer | Chap-1
Language Basics | Coldfusion primer | Chap-1Language Basics | Coldfusion primer | Chap-1
Language Basics | Coldfusion primer | Chap-1
Nafis Ahmed
 
Modernizing i5 Applications
Modernizing i5 ApplicationsModernizing i5 Applications
Modernizing i5 Applications
ZendCon
 
How Browsers Work
How Browsers Work How Browsers Work
How Browsers Work
myposter GmbH
 
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 Overview
Andrew Bain
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution Overview
Andrew Bain
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution Overview
Andrew Bain
 
Full Prism Solution Overview
Full Prism Solution OverviewFull Prism Solution Overview
Full Prism Solution Overview
Andrew 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.pdf
compdfkit
 
php
phpphp
WWX 2013 Cocktail
WWX 2013  CocktailWWX 2013  Cocktail
WWX 2013 Cocktail
Raphael Harmel
 
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
Robert Kleinschmidt
 
MuleSoftMeetup-B2BIntegrations_using_MuleSoft
MuleSoftMeetup-B2BIntegrations_using_MuleSoftMuleSoftMeetup-B2BIntegrations_using_MuleSoft
MuleSoftMeetup-B2BIntegrations_using_MuleSoft
MulesoftMunichMeetup
 
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
Contrext Solutions
 
Rajesh Vadde SAP Consultant Profile
Rajesh Vadde SAP Consultant  ProfileRajesh Vadde SAP Consultant  Profile
Rajesh Vadde SAP Consultant Profile
Rajesh 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 Publisher
Mohan 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

在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 

Recently uploaded (20)

在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 

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