SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
The XML Forms Architecture
Bruno Lowagie
PDF: the rationale
•
•
•
•
•
•

Portable: platform independent
Document: rendered in a reliable way
Format: page based approach
Consistent: predictable result
Fast: no programming language
Complete and compact

“Creating PDF is a One-Way Process”
XML Forms Architecture
• Document defined in XML
– Template: appearance of the form
– Datasets: data and data description
– Rendered on-the-fly in the viewer

• The Portable Document Format is used:
– as the container of the XML stream
– for the backgrounds of the form

“Data-based dynamical document”
PDF versus XFA
Pro

Contra

• XML based

• XML based

– You can use your own schema
– Easy to extract/exchange data

• Dynamic document
– Data shapes document
– Variable number of pages

• Functionality (vs AcroForm)
– More flexibility
– More feature rich

– Slow rendering for large docs
– XML manipulation

• Slow adoption by viewers
– Adobe Reader
– Preview

• Not many tools available
– Adobe LiveCycle
– Merging, splitting,...
– Problem: continuity?
Let’s build an XFA2PDF tool
•
•
•
•

iText 5+: filling out XFA forms
iText 5.2.1+: making XFA forms Read-Only
XFA Worker: flatten a filled out XFA form
This is a huge work
– Time + $$$
– Specialists needed

• Different approach
– Closed source
– Customers only
– Different subprojects
Let’s start with XML
• Extensible Markup Language (XML) is a
set of rules for encoding documents in
machine-readable form.
• Hundreds of XML-based languages have
been developed, including RSS, Atom,
SOAP, SVG, XHTML,...
Converting XML to PDF
• Either you use XSLT to transform one type
of XML to another one that can be parsed
to PDF (this is what is done with XSL-FO).
• Or you can program custom parsers for
your custom XML.
• Which approach is best depends on the
project.
iText before XML Worker
• XmlParser with a custom iText DTD.
– Why invent a new standard?

• XmlPeer classes for custom tags.
– Good idea, but nobody understood how it works

• Writing your own DocumentHandler.
– Not for the faint of heart

• Using HTMLWorker.
– Organically grown functionality; dito frustration

• These are things of the past!
Understanding XML Worker
• Different pipelines
• In the case of XHTML:
CSS
pipeline

HTML
pipeline

• In the case of custom XML:
Custom
pipeline

PDF
pipeline

PDF
pipeline
Live Demo

PARSING XML WITH ITEXT
Live Demo

COMBINING XML WORKER WITH
ACROFORM TECHNOLOGY
Creating an XFA form
Importing an XSD
Reorganizing the fields
An empty form
A filled out form
Live Demo

FILLING OUT XFA FORMS
Try it
yourself!

Useful links:
http://demo.itextsupport.com/
xfademo/
http://www.youtube.com/
watch?v=qxtAy2Czsh0

Weitere ähnliche Inhalte

Was ist angesagt?

Overview of no sql
Overview of no sqlOverview of no sql
Overview of no sql
Sean Murphy
 
No sql landscape_nosqltips
No sql landscape_nosqltipsNo sql landscape_nosqltips
No sql landscape_nosqltips
imarcticblue
 
End to End Software Application Development using ASP.NET MVC
End to End Software Application Development using ASP.NET MVCEnd to End Software Application Development using ASP.NET MVC
End to End Software Application Development using ASP.NET MVC
Kamar Oyenuga
 

Was ist angesagt? (20)

No SQL - Intro
No SQL - IntroNo SQL - Intro
No SQL - Intro
 
First steps to Azure Cosmos DB: Getting Started with MongoDB and NoSQL
First steps to Azure Cosmos DB: Getting Started with MongoDB and NoSQLFirst steps to Azure Cosmos DB: Getting Started with MongoDB and NoSQL
First steps to Azure Cosmos DB: Getting Started with MongoDB and NoSQL
 
Overview of no sql
Overview of no sqlOverview of no sql
Overview of no sql
 
No sql landscape_nosqltips
No sql landscape_nosqltipsNo sql landscape_nosqltips
No sql landscape_nosqltips
 
HPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL EcosystemHPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL Ecosystem
 
End to End Software Application Development using ASP.NET MVC
End to End Software Application Development using ASP.NET MVCEnd to End Software Application Development using ASP.NET MVC
End to End Software Application Development using ASP.NET MVC
 
Mongo db
Mongo dbMongo db
Mongo db
 
JSON in SQL Server 2016
JSON in SQL Server 2016JSON in SQL Server 2016
JSON in SQL Server 2016
 
MySQL 101
MySQL 101MySQL 101
MySQL 101
 
DBAs vs Developers: JSON in SQL Server
DBAs vs Developers: JSON in SQL ServerDBAs vs Developers: JSON in SQL Server
DBAs vs Developers: JSON in SQL Server
 
Xm lforthe smallerpublisher-andywilliams
Xm lforthe smallerpublisher-andywilliamsXm lforthe smallerpublisher-andywilliams
Xm lforthe smallerpublisher-andywilliams
 
mule introduction to dataweave
mule   introduction to dataweavemule   introduction to dataweave
mule introduction to dataweave
 
Multi-tenant Database Design for SaaS
Multi-tenant Database Design for SaaSMulti-tenant Database Design for SaaS
Multi-tenant Database Design for SaaS
 
Working with NodeJS
Working with NodeJSWorking with NodeJS
Working with NodeJS
 
Json usage and performance in sql server 2016
Json usage and performance in sql server 2016Json usage and performance in sql server 2016
Json usage and performance in sql server 2016
 
Four NoSQL Databases You Should Know
Four NoSQL Databases You Should KnowFour NoSQL Databases You Should Know
Four NoSQL Databases You Should Know
 
In Memory Cahce Structure
In Memory Cahce StructureIn Memory Cahce Structure
In Memory Cahce Structure
 
.Net without spending a buck
.Net without spending a buck.Net without spending a buck
.Net without spending a buck
 
Apache big data 2016 - Speaking the language of Big Data
Apache big data 2016 - Speaking the language of Big DataApache big data 2016 - Speaking the language of Big Data
Apache big data 2016 - Speaking the language of Big Data
 
Entity Framework for Cross platform apps
Entity Framework for Cross platform appsEntity Framework for Cross platform apps
Entity Framework for Cross platform apps
 

Andere mochten auch

Shape, Form & Space
Shape, Form & SpaceShape, Form & Space
Shape, Form & Space
Naomi Smart
 
Theory of architecture
Theory of architectureTheory of architecture
Theory of architecture
Krishna Jhawar
 
03 architectural principles & elements
03 architectural principles & elements03 architectural principles & elements
03 architectural principles & elements
Jan Echiverri-Quintano
 
Circulation (architecture)
Circulation (architecture)Circulation (architecture)
Circulation (architecture)
Sadanand Kumar
 

Andere mochten auch (20)

History & Theory of Planning: Regional Planning
History & Theory of Planning: Regional PlanningHistory & Theory of Planning: Regional Planning
History & Theory of Planning: Regional Planning
 
Shape, Form & Space
Shape, Form & SpaceShape, Form & Space
Shape, Form & Space
 
Form and space
Form and spaceForm and space
Form and space
 
History & Theory of Planning: Postmodern Critiques of Modernism
History & Theory of Planning: Postmodern Critiques of ModernismHistory & Theory of Planning: Postmodern Critiques of Modernism
History & Theory of Planning: Postmodern Critiques of Modernism
 
Collision of forms in architecture
Collision of forms in architectureCollision of forms in architecture
Collision of forms in architecture
 
Theory of design collisions of form
Theory of design collisions of formTheory of design collisions of form
Theory of design collisions of form
 
Structure and architecture
Structure and architectureStructure and architecture
Structure and architecture
 
Structure as architecture final
Structure as architecture finalStructure as architecture final
Structure as architecture final
 
Kenzo Tange
Kenzo TangeKenzo Tange
Kenzo Tange
 
Building Structures as Architecture, Wolfgang Schueller
Building Structures as Architecture, Wolfgang SchuellerBuilding Structures as Architecture, Wolfgang Schueller
Building Structures as Architecture, Wolfgang Schueller
 
Form and structure - edexcel literature certificate poems
Form and structure - edexcel literature certificate poemsForm and structure - edexcel literature certificate poems
Form and structure - edexcel literature certificate poems
 
Kenzo Tange- Architect
Kenzo Tange- ArchitectKenzo Tange- Architect
Kenzo Tange- Architect
 
Forms in architecture
Forms in architectureForms in architecture
Forms in architecture
 
Primary elements of form
Primary elements of formPrimary elements of form
Primary elements of form
 
Principle of architecture
Principle of architecturePrinciple of architecture
Principle of architecture
 
Theory of architecture
Theory of architectureTheory of architecture
Theory of architecture
 
Shape form and space
Shape form and spaceShape form and space
Shape form and space
 
03 architectural principles & elements
03 architectural principles & elements03 architectural principles & elements
03 architectural principles & elements
 
Circulation (architecture)
Circulation (architecture)Circulation (architecture)
Circulation (architecture)
 
War photographer
War photographerWar photographer
War photographer
 

Ähnlich wie The XML Forms Architecture

Data interchange integration, HTML XML Biological XML DTD
Data interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTD
Data interchange integration, HTML XML Biological XML DTD
AnushaMahmood
 

Ähnlich wie The XML Forms Architecture (20)

Building bridges - Plone Conference 2015 Bucharest
Building bridges   - Plone Conference 2015 BucharestBuilding bridges   - Plone Conference 2015 Bucharest
Building bridges - Plone Conference 2015 Bucharest
 
Tech 802: Data, Databases & XML
Tech 802: Data, Databases & XMLTech 802: Data, Databases & XML
Tech 802: Data, Databases & XML
 
Java Web Services
Java Web ServicesJava Web Services
Java Web Services
 
XML Pipelines
XML PipelinesXML Pipelines
XML Pipelines
 
Unit iv xml dom
Unit iv xml domUnit iv xml dom
Unit iv xml dom
 
Markup For Dummies (Russ Ward)
Markup For Dummies (Russ Ward)Markup For Dummies (Russ Ward)
Markup For Dummies (Russ Ward)
 
VFP & Ajax
VFP & AjaxVFP & Ajax
VFP & Ajax
 
2009 PLANETS Vienna - MIXED migration to XML
2009 PLANETS Vienna - MIXED migration to XML2009 PLANETS Vienna - MIXED migration to XML
2009 PLANETS Vienna - MIXED migration to XML
 
You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...
You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...
You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...
 
Data interchange integration, HTML XML Biological XML DTD
Data interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTD
Data interchange integration, HTML XML Biological XML DTD
 
Xml
XmlXml
Xml
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iib
 
Dos and donts
Dos and dontsDos and donts
Dos and donts
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
 
Cetpa dotnet taining
Cetpa dotnet tainingCetpa dotnet taining
Cetpa dotnet taining
 
Humans should not write XML.
Humans should not write XML.Humans should not write XML.
Humans should not write XML.
 
IWMW 1998: Publishing and devolving the maintenance of a prospectus prospectus
IWMW 1998: Publishing and devolving the maintenance of a prospectus prospectusIWMW 1998: Publishing and devolving the maintenance of a prospectus prospectus
IWMW 1998: Publishing and devolving the maintenance of a prospectus prospectus
 
If You Have The Content, Then Apache Has The Technology!
If You Have The Content, Then Apache Has The Technology!If You Have The Content, Then Apache Has The Technology!
If You Have The Content, Then Apache Has The Technology!
 
XML Interfaces to the popular Nessus Scanner
XML Interfaces to the popular Nessus ScannerXML Interfaces to the popular Nessus Scanner
XML Interfaces to the popular Nessus Scanner
 
Xml interfaces to the popular nessus scanner
Xml interfaces to the popular nessus scannerXml interfaces to the popular nessus scanner
Xml interfaces to the popular nessus scanner
 

Mehr von iText Group nv

Mehr von iText Group nv (20)

The effects of the GDPR
The effects of the GDPRThe effects of the GDPR
The effects of the GDPR
 
Build your own_photobooth
Build your own_photoboothBuild your own_photobooth
Build your own_photobooth
 
ETDA Conference - Digital signatures: how it's done in PDF
ETDA Conference - Digital signatures: how it's done in PDFETDA Conference - Digital signatures: how it's done in PDF
ETDA Conference - Digital signatures: how it's done in PDF
 
FIT Seminar Singapore presentation
FIT Seminar Singapore presentationFIT Seminar Singapore presentation
FIT Seminar Singapore presentation
 
Tech Startup Day 2015: 4 failures and 1 hit
Tech Startup Day 2015: 4 failures and 1 hitTech Startup Day 2015: 4 failures and 1 hit
Tech Startup Day 2015: 4 failures and 1 hit
 
Intellectual property and licensing
Intellectual property and licensingIntellectual property and licensing
Intellectual property and licensing
 
Monetizing open-source projects
Monetizing open-source projectsMonetizing open-source projects
Monetizing open-source projects
 
Oops, I broke my API
Oops, I broke my APIOops, I broke my API
Oops, I broke my API
 
PDF made easy with iText 7
PDF made easy with iText 7PDF made easy with iText 7
PDF made easy with iText 7
 
Start-ups: the tortoise and the hare
Start-ups: the tortoise and the hareStart-ups: the tortoise and the hare
Start-ups: the tortoise and the hare
 
IANAL: what developers should know about IP and Legal
IANAL: what developers should know about IP and LegalIANAL: what developers should know about IP and Legal
IANAL: what developers should know about IP and Legal
 
Digital Signatures in the Cloud: A B2C Case Study
Digital Signatures in the Cloud: A B2C Case StudyDigital Signatures in the Cloud: A B2C Case Study
Digital Signatures in the Cloud: A B2C Case Study
 
Digital Signatures: how it's done in PDF
Digital Signatures: how it's done in PDFDigital Signatures: how it's done in PDF
Digital Signatures: how it's done in PDF
 
ZUGFeRD: an overview
ZUGFeRD: an overviewZUGFeRD: an overview
ZUGFeRD: an overview
 
PDF is dead. Long live PDF... with Java!
PDF is dead. Long live PDF... with Java!PDF is dead. Long live PDF... with Java!
PDF is dead. Long live PDF... with Java!
 
Digital Signatures: how it's done in PDF
Digital Signatures: how it's done in PDFDigital Signatures: how it's done in PDF
Digital Signatures: how it's done in PDF
 
iText Summit 2014: Talk: iText throughout the document life cycle
iText Summit 2014: Talk: iText throughout the document life cycleiText Summit 2014: Talk: iText throughout the document life cycle
iText Summit 2014: Talk: iText throughout the document life cycle
 
iText Summit 2014: Keynote talk
iText Summit 2014: Keynote talkiText Summit 2014: Keynote talk
iText Summit 2014: Keynote talk
 
iText Summit 2014: Talk: eGriffie and JustX, introducing digital documents at...
iText Summit 2014: Talk: eGriffie and JustX, introducing digital documents at...iText Summit 2014: Talk: eGriffie and JustX, introducing digital documents at...
iText Summit 2014: Talk: eGriffie and JustX, introducing digital documents at...
 
Damn, the new generation kids are getting iPads in Highschool!
Damn, the new generation kids are getting iPads in Highschool!Damn, the new generation kids are getting iPads in Highschool!
Damn, the new generation kids are getting iPads in Highschool!
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

The XML Forms Architecture

  • 1. The XML Forms Architecture Bruno Lowagie
  • 2. PDF: the rationale • • • • • • Portable: platform independent Document: rendered in a reliable way Format: page based approach Consistent: predictable result Fast: no programming language Complete and compact “Creating PDF is a One-Way Process”
  • 3. XML Forms Architecture • Document defined in XML – Template: appearance of the form – Datasets: data and data description – Rendered on-the-fly in the viewer • The Portable Document Format is used: – as the container of the XML stream – for the backgrounds of the form “Data-based dynamical document”
  • 4. PDF versus XFA Pro Contra • XML based • XML based – You can use your own schema – Easy to extract/exchange data • Dynamic document – Data shapes document – Variable number of pages • Functionality (vs AcroForm) – More flexibility – More feature rich – Slow rendering for large docs – XML manipulation • Slow adoption by viewers – Adobe Reader – Preview • Not many tools available – Adobe LiveCycle – Merging, splitting,... – Problem: continuity?
  • 5. Let’s build an XFA2PDF tool • • • • iText 5+: filling out XFA forms iText 5.2.1+: making XFA forms Read-Only XFA Worker: flatten a filled out XFA form This is a huge work – Time + $$$ – Specialists needed • Different approach – Closed source – Customers only – Different subprojects
  • 6. Let’s start with XML • Extensible Markup Language (XML) is a set of rules for encoding documents in machine-readable form. • Hundreds of XML-based languages have been developed, including RSS, Atom, SOAP, SVG, XHTML,...
  • 7. Converting XML to PDF • Either you use XSLT to transform one type of XML to another one that can be parsed to PDF (this is what is done with XSL-FO). • Or you can program custom parsers for your custom XML. • Which approach is best depends on the project.
  • 8. iText before XML Worker • XmlParser with a custom iText DTD. – Why invent a new standard? • XmlPeer classes for custom tags. – Good idea, but nobody understood how it works • Writing your own DocumentHandler. – Not for the faint of heart • Using HTMLWorker. – Organically grown functionality; dito frustration • These are things of the past!
  • 9. Understanding XML Worker • Different pipelines • In the case of XHTML: CSS pipeline HTML pipeline • In the case of custom XML: Custom pipeline PDF pipeline PDF pipeline
  • 10. Live Demo PARSING XML WITH ITEXT
  • 11. Live Demo COMBINING XML WORKER WITH ACROFORM TECHNOLOGY
  • 16. A filled out form