SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
10 REASONS COLDFUSION PDFS SHOULD
RULE THE WORLD
HISTORICAL CONTEXT
• ‘Imagine being able to send full text and
graphics documents (newspapers, magazine
articles, technical manuals etc.) over electronic
mail distribution networks. These documents
could be viewed on any machine and any
selected document could be printed locally. This
capability would truly change the way
information is managed.’
• - John Warnock, 1991
HISTORICAL CONTEXT
• PDF 1.0 1991
• Distiller $695/ $2495 (networked)
• Reader $50
• 1998 ISO Standard
• 1998 Adobe Royalty Free Patent
COLDFUSION AND PDF
• Macromedia ColdFusion MX 7 added CFDOCUMENT
FORMAT="PDF" (2/7/2005)
• Adobe acquired Macromedia (12/3/2005)
• Adobe ColdFusion 8 added CFPDF / CFPDFFORM /
CFPRINT (7/30/2007)
• ColdFusion 9 & 10 no changes.
• ColdFusion 11
• New HTML to PDF engine
COLDFUSION 9
• FDF support in PDF forms
("Forms Data Format." FDF is a file format for representing f
• orm data and annotations that are contained in a PDF form.)
• PDF package
• Size optimization
• Adding headers and footers to PDF documents using the
cfpdf tag
• Support for RGB/ARGB, cfimage and accessible images in
watermarking a pdf using the cfpdf tag
• Improved quality and performance of thumbnail generation
• Support for extracting image and text from PDF
COLDFUSION 11
• New PDF to HTML Engine
• Digital Signatures
• Improved DDX support
• PDF Servlets for scalability
RAIJIN / CF12
• Sanitize
• Export metadata
• Import metadata
• Archive
• AddAttachments
• AddStamp
• Redaction
• Comments exporting
RAIJIN / CF12 – EXPORT META
• Export Meta Data to xmp file
• XMP: Extensible Metadata Platform (Smells like XML)
• https://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf
• Demo
• Raijin Documentation PDF
• CFM code to export
RAIJIN / CF12 – IMPORT META
• Modified XMP file
• Run code above to import metadata into the Raijin Docs
• Demo
• Raijin Documentation PDF
• CFM code to import and show results
USES OF METADATA
• Track
collaborators
• Standardized way
organize large
collections
electronic
documents
• Keyword search
system for
documents
• Identification
• Title
• Area Covered
• Themes Responsible party
• Providence – Where did it come from?
• Distribution
• Distributor
• Formats
• Media
• Online
• Price
• Entity and Attribute Information
• Features
• Attributes
• Attribute Values
THE DANGER OF METADATA
• Could contain
• OS & OS Versions
• Software used and Software versions
• Hardware information
• Geolocation data!
• Time and date info
• Names of collaborators and info about their software /
hardware /locations
THE DANGER OF METADATA
• Example.
• 1 page PDF about a man in Paris who found free
champagne!!
• PDF this guy sent me
• Have ColdFusion pull the Metadata to learn this guys
name
• Now extract the image and read it’s EXIF data
THE DANGER OF METADATA
THE DANGER OF METADATA
SANITIZE METADATA WITH 1 LINE
PDF ARCHIVING
You can archive pdf files. PDF/A is an ISO -standardized version of the
Portable Document Format (PDF) specialized for the long term digital
preservation of electronic documents. It guarantees a pdf can be viewed
in the distant future. During PDF conversion, the file that is being
processed is checked against the specified standard. PDF/A differs from
PDF by prohibiting features ill-suited to long-term archiving, such as font
linking (as opposed to font embedding). In earlier versions of
ColdFusion we used to support PDF/A-1b standard.
In ColdFusion Raijin, we support PDF/A-2b.
PDF ARCHIVING
• PDF/A-1 files must include:
• Embedded fonts
• Device-independent color
• XMP metadata
• PDF/A-1 files may not include:
• Encryption
• LZW Compression
• Embedded files
• External content references
• PDF Transparency
• Multi-media
• JavaScript
PDF/A-2b (Level B conformance)
is a lower level of conformance,
"encompassing the requirements
of this part of ISO 19005
regarding the visual appearance
of electronic documents, but not
their structural or semantic
properties."
PDF ATTACHMENTS
You can attach PDFs and other types of files to a PDF. If you move the
PDF to a new location, the attachments move with it. By using
cfpdfparam, you can specify the location of the attachment, the filename
for the attachment, description of the attachment, encoding, and
mimetype for attaching file. Files can be attached at document level.
PDF ATTACHMENTS
• Run code to attach image to PDF
• View New PDF in Acrobat or Reader
PDF STAMPS
• Run code to add Stamp to PDF
• View New PDF in Acrobat or Reader
• Approved, Experimental, NotApproved, AsIs, Expired ,
NotForPublicRelease, Confidential, Final, Sold, Departmental,
ForComment, TopSecret, Draft, ForPublicRelease.
PDF COMMENTS
PDF COMMENTS EXPORT
View PDF with comments
Run code to extract comments
PDF COMMENTS IMPORT CUSTOM
View xfdf contents (smells like XML)
Run code to import comments
REASON #10 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
Knowledge = Power
REASON #9 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
ColdFusion PDFs have
never had a sex scandal
REASON #8 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
Even your grandma can
use a PDF
REASON #8 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
Even your grandma can
use a PDF
REASON #7 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
ColdFusion PDFs are clean.
will sanitize your stuff.
REASON #6 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
Adobe Reader Updates are already
using 40% of your daily computing
power anyway!
REASON #5 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
Good looking!
CFHTML2PDF is really, really good looking
REASON #4 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
ColdFusion PDFs can
keep a secret!
Info redacted
REASON #3 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
ColdFusion
PDFs are
smarter than
you.
REASON #2 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
ColdFusion PDFs are
easier than doing taxes
REASON #1 WHY COLDFUSION PDFS SHOULD
RULE THE WORLD
Ruling the world would
be really boring.
So why not?
WHO I AM? (SELF LOVE SLIDE)
• VP of Operations at Primoris Credit Card Services
• @TimCunningham71 twitter
• CFmumboJumbo.com
• Adobe Community Professional
• Cfml.us
• Nerd
THANK YOU!
@timcunningham71
cfMumboJumbo.comcfml.us/bdG
CFDOCUMENT
Creates PDF output from a text block containing CFML
and HTML
Support standards: HTML 4.01, CSS1 & CSS2
Supports a limited set of CSS styles
[Demo current cfdocument]
HONORING THE PAST
• CFDocument still does
everything it does in CF10
• Still using iText & iceBrowser
• Existing code
won’t break
CF 11:
<CFHTMLTOPDF/>
• Uses webkit html rendering engine. (Chrome, Safari,
Opera)
• Can convert modern HTML & CSS
• Runs as Jetty Servlet
• Jetty is a pure Java-based HTTP (Web) server and Java Servlet
container. While Web Servers are usually associated with serving
documents to humans, Jetty is now often used for machine to machine
communications, usually within larger software frameworks.
• Solr also runs on CF as a Jetty servlet
TERMINOLOGY
The following terms are the commonly used in <cfhtmltopdf> (WebKit):
• Service - Refers to the process which carries out series of activities to convert HTML
documents to PDFs.
• Service Manager - Manages the PDF generation service processes, monitors the service
process states, spawns new processes for conversions, and facilitates recycling of
processes.
• WebKit - Is a layout engine software designed to allow web browsers to render web
pages.
TERMINOLOGY
<cfhtmltopdf> creates high quality PDF output from a text block containing CFML and HTML
using the PDF Service Manager.
The WebKit implementation for <cfhtmltopdf> is referred as PDFG (acronym of PDF
Generator) which is shipped as part of the Jetty installer. The component running inside the
Jetty server is referred as the service manager, which takes request for PDF conversion from
one or many ColdFusion server/s.
The WebKit implementation for <cfhtmltopdf>:
• Encapsulates the PDF conversion library.
• Performs HTML to PDF conversion in process.
SETTING UP PDF SERVICE(S)
SYNTAX
<cfhtmltopdf
encryption = "AES_128|RC4_40
|RC4_128|RC4_128M|None"
source = "URL|pathname absolute
or relative to web root"
destination = "filename"
marginBottom = "number“
marginLeft = "number" marginRight = "number"
marginTop = "number"
name = "output variable name"
orientation = "portrait|landscape" overwrite = "yes|no"
ownerPassword = "password"
pageHeight = "page height in inches(default)" pageType = "page type"
pageWidth = "page width in inches(default)" permissions = "permission list"
saveAsName = "PDF filename"
unit = "in|cm"
userPassword = "password"
HTML and CFML code
</cfhtmltopdf>
SYNTAX
<cfhtmltopdfitem
type = header/footer
isBase64 = "yes|no"
showonprint = "yes|no"
align = "left|right|center"
leftmargin = "number"
rightmargin = "number"
topmargin = "number"
bottommargin = "number"
opacity = "number”
numberformat =
"LOWERCASEROMAN|NUMERIC|UPPERCASEROMAN"
image = " URL|pathname absolute or relative to web root"
</cfhtmltopdfitem>
DEMO
Demo usage of cfhtmltopdf and cfhtmltopdfitem
Reference Rich Text used for header / footer:
PDF Reference: fifth edition
http://partners.adobe.com/public/developer/en/pdf/PDFReference16.p
df#page=664
DIGITAL SIGNATURES
• Digital signatures can be used
in PDF documents to authenticate
the identity of a user and
the document’s contents.
• A signature stores information about the signer
and the state of the document when it was
signed.
• Acrobat users sign PDF documents in signature
fields, which are a type of form field.
DIGITAL SIGNATURES
• A certifying or author signature enables the
author of a document to attest to its contents. It also specifies
the types of changes permitted for the document to remain
certified. It must be the first signature in the document.
• Regular or ordinary signatures enable signers
to attest to the contents of a document but do not specify
permitted changes. All signatures in a certified document other
than the first one are ordinary signatures, as are all signatures
in non-certified documents.
• Can control the users rights to do things to your documents
DIGITAL SIGNATURES
• Digital signatures can
be used in PDF documents
to authenticate the identity
of a user and the document’s
contents.
• A signature stores information about the signer and
the state of the document when it was signed.
• Acrobat users sign PDF documents in signature
fields, which are a type of form field.
DIGITAL SIGNATURES
• Checks whether the signed content was changed
after the pdf was signed.
• Does not check the revocation status of the
certificates associated with the signature from the
signing authority
• (I filed an enhancement request)
DDX
• Document Description XML (DDX) is a declarative markup
language whose elements represent building blocks of
documents
• Part of LiveCycle Assembler Service
• Can do the things you can already do with CFPDF
• Introduced in ColdFusion 8 with scaled down version of
LiveCycle Assembler
• Supported 35 of 100 DDX tags
WHAT CAN YOU DO WITH FULL DDX?
• Assembler Service
and DDX Reference
(Adobe® LiveCycle®
ES2 Version 9)
• 357 pages of awesome XML!!!
• See Table of Contents
SOME DDX FEATURES I AM EXCITED ABOUT
• Page size handling
• Write one declarative document apply to many PDF packages
• Alternation, OddPages, EvenPages
• Optional source documents
• Declare the base document
SOME DDX FEATURES I AM EXCITED ABOUT
PDF Portfolios extend the capability of PDF
packages, by adding a customizable user
interface (navigator), folders, navigation
header, and navigation welcome pages.
The resources can include localized text string,
custom color schemes, and graphic resources.

Más contenido relacionado

La actualidad más candente

Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMSColdFusionConference
 
Intro to Coldfusion
Intro to ColdfusionIntro to Coldfusion
Intro to ColdfusionTerry Ryan
 
Expand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSExpand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSColdFusionConference
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxColdFusionConference
 
Can you contain the future - Docker, Container Technologies, The Future, and You
Can you contain the future - Docker, Container Technologies, The Future, and YouCan you contain the future - Docker, Container Technologies, The Future, and You
Can you contain the future - Docker, Container Technologies, The Future, and YouColdFusionConference
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016Ortus Solutions, Corp
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016ColdFusionConference
 
Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11ColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016ColdFusionConference
 
Mobile Applications Made Easy with ColdFusion 11
Mobile Applications Made Easy with ColdFusion 11Mobile Applications Made Easy with ColdFusion 11
Mobile Applications Made Easy with ColdFusion 11ColdFusionConference
 
A look at FastCgi & Mod_PHP architecture
A look at FastCgi & Mod_PHP architectureA look at FastCgi & Mod_PHP architecture
A look at FastCgi & Mod_PHP architectureAimee Maree Forsstrom
 

La actualidad más candente (20)

Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Cfml features modern_coding
Cfml features modern_codingCfml features modern_coding
Cfml features modern_coding
 
Securing Legacy CFML Code
Securing Legacy CFML CodeSecuring Legacy CFML Code
Securing Legacy CFML Code
 
Intro to Coldfusion
Intro to ColdfusionIntro to Coldfusion
Intro to Coldfusion
 
A Bit of REST
A Bit of RESTA Bit of REST
A Bit of REST
 
Expand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSExpand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWS
 
Realtime with websockets
Realtime with websocketsRealtime with websockets
Realtime with websockets
 
Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandbox
 
Can you contain the future - Docker, Container Technologies, The Future, and You
Can you contain the future - Docker, Container Technologies, The Future, and YouCan you contain the future - Docker, Container Technologies, The Future, and You
Can you contain the future - Docker, Container Technologies, The Future, and You
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
 
ColdFusion builder plugins
ColdFusion builder pluginsColdFusion builder plugins
ColdFusion builder plugins
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
 
Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11Developing html5 mobile applications using cold fusion 11
Developing html5 mobile applications using cold fusion 11
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
 
Mobile Applications Made Easy with ColdFusion 11
Mobile Applications Made Easy with ColdFusion 11Mobile Applications Made Easy with ColdFusion 11
Mobile Applications Made Easy with ColdFusion 11
 
A look at FastCgi & Mod_PHP architecture
A look at FastCgi & Mod_PHP architectureA look at FastCgi & Mod_PHP architecture
A look at FastCgi & Mod_PHP architecture
 
EF Core (RC2)
EF Core (RC2)EF Core (RC2)
EF Core (RC2)
 

Destacado

Cold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerCold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerMindfire Solutions
 
ColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusionConference
 
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...ColdFusionConference
 
Using NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionUsing NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionindiver
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsColdFusionConference
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server DatabasesColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusionConference
 
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionAdvanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISColdFusionConference
 

Destacado (20)

Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Cold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerCold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion Server
 
ColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusion Features for More Modern Coding
ColdFusion Features for More Modern Coding
 
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
 
Using NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionUsing NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusion
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS Applications
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionAdvanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
 

Similar a 10 Reasons ColdFusion PDFs should rule the world

Using ColdFusion to Produce Dynamic Letters
Using ColdFusion to Produce Dynamic LettersUsing ColdFusion to Produce Dynamic Letters
Using ColdFusion to Produce Dynamic LettersmcollinsCF
 
Building bridges - Plone Conference 2015 Bucharest
Building bridges   - Plone Conference 2015 BucharestBuilding bridges   - Plone Conference 2015 Bucharest
Building bridges - Plone Conference 2015 BucharestAndreas Jung
 
Inkjet Case Study: Implementing a Plain Paper Factory
Inkjet Case Study: Implementing a Plain Paper FactoryInkjet Case Study: Implementing a Plain Paper Factory
Inkjet Case Study: Implementing a Plain Paper FactoryCrawford Technologies, Inc.
 
Basic of computers
Basic of computers Basic of computers
Basic of computers Harsh Porwal
 
Presentation1
Presentation1Presentation1
Presentation1f6aim
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...Klaus Bild
 
AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9Cyril Hanquez
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesVagif Abilov
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )senthil0809
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixPerforce
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...Wannes Rams
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...Klaus Bild
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoringPhil Wilkins
 
Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程jeffz
 
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyPDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyJohn McCaffrey
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixJake Peyser
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixDev_Events
 

Similar a 10 Reasons ColdFusion PDFs should rule the world (20)

Using ColdFusion to Produce Dynamic Letters
Using ColdFusion to Produce Dynamic LettersUsing ColdFusion to Produce Dynamic Letters
Using ColdFusion to Produce Dynamic Letters
 
Building bridges - Plone Conference 2015 Bucharest
Building bridges   - Plone Conference 2015 BucharestBuilding bridges   - Plone Conference 2015 Bucharest
Building bridges - Plone Conference 2015 Bucharest
 
Inkjet Case Study: Implementing a Plain Paper Factory
Inkjet Case Study: Implementing a Plain Paper FactoryInkjet Case Study: Implementing a Plain Paper Factory
Inkjet Case Study: Implementing a Plain Paper Factory
 
Check
CheckCheck
Check
 
Basic of computers
Basic of computers Basic of computers
Basic of computers
 
Presentation1
Presentation1Presentation1
Presentation1
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...
 
AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...
 
The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...The lazy administrator, how to make your life easier by using tdi to automate...
The lazy administrator, how to make your life easier by using tdi to automate...
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程
 
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffreyPDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
PDF Generation in Rails with Prawn and Prawn-to: John McCaffrey
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 

Más de ColdFusionConference

API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsColdFusionConference
 
Everyones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionEveryones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionColdFusionConference
 
Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application developmentColdFusionConference
 

Más de ColdFusionConference (7)

API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 
Everyones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusionEveryones invited! Meet accesibility requirements with ColdFusion
Everyones invited! Meet accesibility requirements with ColdFusion
 
Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application development
 
Bring api manager into your stack
Bring api manager into your stackBring api manager into your stack
Bring api manager into your stack
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
 
Dependency Injection
Dependency InjectionDependency Injection
Dependency Injection
 

Último

Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimizationarrow10202532yuvraj
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
The Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementThe Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementNuwan Dias
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 

Último (20)

Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
The Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementThe Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API Management
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 

10 Reasons ColdFusion PDFs should rule the world

  • 1. 10 REASONS COLDFUSION PDFS SHOULD RULE THE WORLD
  • 2. HISTORICAL CONTEXT • ‘Imagine being able to send full text and graphics documents (newspapers, magazine articles, technical manuals etc.) over electronic mail distribution networks. These documents could be viewed on any machine and any selected document could be printed locally. This capability would truly change the way information is managed.’ • - John Warnock, 1991
  • 3. HISTORICAL CONTEXT • PDF 1.0 1991 • Distiller $695/ $2495 (networked) • Reader $50 • 1998 ISO Standard • 1998 Adobe Royalty Free Patent
  • 4. COLDFUSION AND PDF • Macromedia ColdFusion MX 7 added CFDOCUMENT FORMAT="PDF" (2/7/2005) • Adobe acquired Macromedia (12/3/2005) • Adobe ColdFusion 8 added CFPDF / CFPDFFORM / CFPRINT (7/30/2007) • ColdFusion 9 & 10 no changes. • ColdFusion 11 • New HTML to PDF engine
  • 5. COLDFUSION 9 • FDF support in PDF forms ("Forms Data Format." FDF is a file format for representing f • orm data and annotations that are contained in a PDF form.) • PDF package • Size optimization • Adding headers and footers to PDF documents using the cfpdf tag • Support for RGB/ARGB, cfimage and accessible images in watermarking a pdf using the cfpdf tag • Improved quality and performance of thumbnail generation • Support for extracting image and text from PDF
  • 6. COLDFUSION 11 • New PDF to HTML Engine • Digital Signatures • Improved DDX support • PDF Servlets for scalability
  • 7. RAIJIN / CF12 • Sanitize • Export metadata • Import metadata • Archive • AddAttachments • AddStamp • Redaction • Comments exporting
  • 8. RAIJIN / CF12 – EXPORT META • Export Meta Data to xmp file • XMP: Extensible Metadata Platform (Smells like XML) • https://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf • Demo • Raijin Documentation PDF • CFM code to export
  • 9. RAIJIN / CF12 – IMPORT META • Modified XMP file • Run code above to import metadata into the Raijin Docs • Demo • Raijin Documentation PDF • CFM code to import and show results
  • 10. USES OF METADATA • Track collaborators • Standardized way organize large collections electronic documents • Keyword search system for documents • Identification • Title • Area Covered • Themes Responsible party • Providence – Where did it come from? • Distribution • Distributor • Formats • Media • Online • Price • Entity and Attribute Information • Features • Attributes • Attribute Values
  • 11. THE DANGER OF METADATA • Could contain • OS & OS Versions • Software used and Software versions • Hardware information • Geolocation data! • Time and date info • Names of collaborators and info about their software / hardware /locations
  • 12. THE DANGER OF METADATA • Example. • 1 page PDF about a man in Paris who found free champagne!! • PDF this guy sent me • Have ColdFusion pull the Metadata to learn this guys name • Now extract the image and read it’s EXIF data
  • 13. THE DANGER OF METADATA
  • 14. THE DANGER OF METADATA
  • 16. PDF ARCHIVING You can archive pdf files. PDF/A is an ISO -standardized version of the Portable Document Format (PDF) specialized for the long term digital preservation of electronic documents. It guarantees a pdf can be viewed in the distant future. During PDF conversion, the file that is being processed is checked against the specified standard. PDF/A differs from PDF by prohibiting features ill-suited to long-term archiving, such as font linking (as opposed to font embedding). In earlier versions of ColdFusion we used to support PDF/A-1b standard. In ColdFusion Raijin, we support PDF/A-2b.
  • 17. PDF ARCHIVING • PDF/A-1 files must include: • Embedded fonts • Device-independent color • XMP metadata • PDF/A-1 files may not include: • Encryption • LZW Compression • Embedded files • External content references • PDF Transparency • Multi-media • JavaScript PDF/A-2b (Level B conformance) is a lower level of conformance, "encompassing the requirements of this part of ISO 19005 regarding the visual appearance of electronic documents, but not their structural or semantic properties."
  • 18. PDF ATTACHMENTS You can attach PDFs and other types of files to a PDF. If you move the PDF to a new location, the attachments move with it. By using cfpdfparam, you can specify the location of the attachment, the filename for the attachment, description of the attachment, encoding, and mimetype for attaching file. Files can be attached at document level.
  • 19. PDF ATTACHMENTS • Run code to attach image to PDF • View New PDF in Acrobat or Reader
  • 20. PDF STAMPS • Run code to add Stamp to PDF • View New PDF in Acrobat or Reader • Approved, Experimental, NotApproved, AsIs, Expired , NotForPublicRelease, Confidential, Final, Sold, Departmental, ForComment, TopSecret, Draft, ForPublicRelease.
  • 22. PDF COMMENTS EXPORT View PDF with comments Run code to extract comments
  • 23. PDF COMMENTS IMPORT CUSTOM View xfdf contents (smells like XML) Run code to import comments
  • 24. REASON #10 WHY COLDFUSION PDFS SHOULD RULE THE WORLD Knowledge = Power
  • 25. REASON #9 WHY COLDFUSION PDFS SHOULD RULE THE WORLD ColdFusion PDFs have never had a sex scandal
  • 26. REASON #8 WHY COLDFUSION PDFS SHOULD RULE THE WORLD Even your grandma can use a PDF
  • 27. REASON #8 WHY COLDFUSION PDFS SHOULD RULE THE WORLD Even your grandma can use a PDF
  • 28. REASON #7 WHY COLDFUSION PDFS SHOULD RULE THE WORLD ColdFusion PDFs are clean. will sanitize your stuff.
  • 29. REASON #6 WHY COLDFUSION PDFS SHOULD RULE THE WORLD Adobe Reader Updates are already using 40% of your daily computing power anyway!
  • 30. REASON #5 WHY COLDFUSION PDFS SHOULD RULE THE WORLD Good looking! CFHTML2PDF is really, really good looking
  • 31. REASON #4 WHY COLDFUSION PDFS SHOULD RULE THE WORLD ColdFusion PDFs can keep a secret! Info redacted
  • 32. REASON #3 WHY COLDFUSION PDFS SHOULD RULE THE WORLD ColdFusion PDFs are smarter than you.
  • 33. REASON #2 WHY COLDFUSION PDFS SHOULD RULE THE WORLD ColdFusion PDFs are easier than doing taxes
  • 34. REASON #1 WHY COLDFUSION PDFS SHOULD RULE THE WORLD Ruling the world would be really boring. So why not?
  • 35. WHO I AM? (SELF LOVE SLIDE) • VP of Operations at Primoris Credit Card Services • @TimCunningham71 twitter • CFmumboJumbo.com • Adobe Community Professional • Cfml.us • Nerd
  • 37. CFDOCUMENT Creates PDF output from a text block containing CFML and HTML Support standards: HTML 4.01, CSS1 & CSS2 Supports a limited set of CSS styles [Demo current cfdocument]
  • 38. HONORING THE PAST • CFDocument still does everything it does in CF10 • Still using iText & iceBrowser • Existing code won’t break
  • 39. CF 11: <CFHTMLTOPDF/> • Uses webkit html rendering engine. (Chrome, Safari, Opera) • Can convert modern HTML & CSS • Runs as Jetty Servlet • Jetty is a pure Java-based HTTP (Web) server and Java Servlet container. While Web Servers are usually associated with serving documents to humans, Jetty is now often used for machine to machine communications, usually within larger software frameworks. • Solr also runs on CF as a Jetty servlet
  • 40. TERMINOLOGY The following terms are the commonly used in <cfhtmltopdf> (WebKit): • Service - Refers to the process which carries out series of activities to convert HTML documents to PDFs. • Service Manager - Manages the PDF generation service processes, monitors the service process states, spawns new processes for conversions, and facilitates recycling of processes. • WebKit - Is a layout engine software designed to allow web browsers to render web pages.
  • 41. TERMINOLOGY <cfhtmltopdf> creates high quality PDF output from a text block containing CFML and HTML using the PDF Service Manager. The WebKit implementation for <cfhtmltopdf> is referred as PDFG (acronym of PDF Generator) which is shipped as part of the Jetty installer. The component running inside the Jetty server is referred as the service manager, which takes request for PDF conversion from one or many ColdFusion server/s. The WebKit implementation for <cfhtmltopdf>: • Encapsulates the PDF conversion library. • Performs HTML to PDF conversion in process.
  • 42. SETTING UP PDF SERVICE(S)
  • 43. SYNTAX <cfhtmltopdf encryption = "AES_128|RC4_40 |RC4_128|RC4_128M|None" source = "URL|pathname absolute or relative to web root" destination = "filename" marginBottom = "number“ marginLeft = "number" marginRight = "number" marginTop = "number" name = "output variable name" orientation = "portrait|landscape" overwrite = "yes|no" ownerPassword = "password" pageHeight = "page height in inches(default)" pageType = "page type" pageWidth = "page width in inches(default)" permissions = "permission list" saveAsName = "PDF filename" unit = "in|cm" userPassword = "password" HTML and CFML code </cfhtmltopdf>
  • 44. SYNTAX <cfhtmltopdfitem type = header/footer isBase64 = "yes|no" showonprint = "yes|no" align = "left|right|center" leftmargin = "number" rightmargin = "number" topmargin = "number" bottommargin = "number" opacity = "number” numberformat = "LOWERCASEROMAN|NUMERIC|UPPERCASEROMAN" image = " URL|pathname absolute or relative to web root" </cfhtmltopdfitem>
  • 45. DEMO Demo usage of cfhtmltopdf and cfhtmltopdfitem Reference Rich Text used for header / footer: PDF Reference: fifth edition http://partners.adobe.com/public/developer/en/pdf/PDFReference16.p df#page=664
  • 46. DIGITAL SIGNATURES • Digital signatures can be used in PDF documents to authenticate the identity of a user and the document’s contents. • A signature stores information about the signer and the state of the document when it was signed. • Acrobat users sign PDF documents in signature fields, which are a type of form field.
  • 47. DIGITAL SIGNATURES • A certifying or author signature enables the author of a document to attest to its contents. It also specifies the types of changes permitted for the document to remain certified. It must be the first signature in the document. • Regular or ordinary signatures enable signers to attest to the contents of a document but do not specify permitted changes. All signatures in a certified document other than the first one are ordinary signatures, as are all signatures in non-certified documents. • Can control the users rights to do things to your documents
  • 48. DIGITAL SIGNATURES • Digital signatures can be used in PDF documents to authenticate the identity of a user and the document’s contents. • A signature stores information about the signer and the state of the document when it was signed. • Acrobat users sign PDF documents in signature fields, which are a type of form field.
  • 49. DIGITAL SIGNATURES • Checks whether the signed content was changed after the pdf was signed. • Does not check the revocation status of the certificates associated with the signature from the signing authority • (I filed an enhancement request)
  • 50. DDX • Document Description XML (DDX) is a declarative markup language whose elements represent building blocks of documents • Part of LiveCycle Assembler Service • Can do the things you can already do with CFPDF • Introduced in ColdFusion 8 with scaled down version of LiveCycle Assembler • Supported 35 of 100 DDX tags
  • 51. WHAT CAN YOU DO WITH FULL DDX? • Assembler Service and DDX Reference (Adobe® LiveCycle® ES2 Version 9) • 357 pages of awesome XML!!! • See Table of Contents
  • 52. SOME DDX FEATURES I AM EXCITED ABOUT • Page size handling • Write one declarative document apply to many PDF packages • Alternation, OddPages, EvenPages • Optional source documents • Declare the base document
  • 53. SOME DDX FEATURES I AM EXCITED ABOUT PDF Portfolios extend the capability of PDF packages, by adding a customizable user interface (navigator), folders, navigation header, and navigation welcome pages. The resources can include localized text string, custom color schemes, and graphic resources.