Exporting Plone content into different office formats like PDF, RTF or Openoffice is a common requirement. This session presents a new generic framework to export Plone content into all common office formats. Based on XSL-FO technology, SmartPrintNG provides flexible control over all aspects of the generated document. Custom stylesheets and templates can be applied to any Plone content. The same framework can be used to generate handouts from a S5 presentation or you supports you generated invoice or just to create a high-quality PDF from the current page just as you see it on the screen. The talk will give a brief introduction into XSL-FO technology, explains the internal processing chain of SmartPrint, shows how to create custom templates and stylesheets and tells you about the integration into Plone.
Driving Behavioral Change for Information Management through Data-Driven Gree...
Andreas Jung Producing High Quality Documents With Plone New Approaches In Exporting Plone Content Into Office Formats
1. Producing high-Quality
office documents
with Plone
Plone Conference 2007, Naples, Italy
Andreas Jung
ZOPYX Ltd. & Co KG
D-72070 Tübingen, Germany
www.zopyx.com, info@zopyx.com
2. Available solutions for PDF
htmldoc-based solutions:
Plone2PDF
htmldoc is fast but it sucks:
no CSS support, poor PDF quality
Reportlab-based solutions
fast, good quality, not straight-forward
zopyx.com - SmartPrintNG
3. No out-of-the-box solution for Plone
available:
for generating PDF and other office
formats (Word, RTF, Open-Office)
stylesheet support
configurable templates and content
aggregation
zopyx.com - SmartPrintNG
4. SmartPrintNG
exports Plone content to PDF, ODT, WML, RTF
per content-type configurable
content-aggregation
templates and styles
out-of-the-box working with any content-type
highly configurable and customizable
zopyx.com - SmartPrintNG
5. Historical background
XSL-FO based approach in use for the
Haufe iDesk plattform
iDesk: Zope 2-based cross-plattform
framework for content-retrieval applications
in use since 2005
deployed to more than 150K customers
(means: 150K customers running Zope on
their Windows desktop)
zopyx.com - SmartPrintNG
6. Let‘s look under the hood
of SmartPrintNG
zopyx.com - SmartPrintNG
7. A cross-format solution
Build on top of XSL-FO technology
XSL-FO:
Extensible Stylesheet Language-
Formatting Objects
a W3C recommendation
consider it as a XML-ish typesetting system
similiar to TEX
much nicer output; supports hyphenation
zopyx.com - SmartPrintNG
13. XSL-FO processors
a XSL-FO processor converts a XSL-FO
document to some output format
XINC (www.lunasil.com):
Output format: PDF
XFC (www.xmlmind.com):
Output formats: RTF, DOCX, WML, ODT
zopyx.com - SmartPrintNG
14. XSL-FO processors (2)
XFC and XINC:
Java-based -> cross-plattform
„it just works“ [tm]
commercial :-(
but worth their money
other converter are even more expensive
about 500-600 Euro/CPU core/server
zopyx.com - SmartPrintNG
15. Why not using any free
XSL-FO processors ?
zopyx.com - SmartPrintNG
16. Why not using any free
XSL-FO processors ?
Apache FOP (Formatting Objects Processor):
old FOP 0.4 sucked like hell
new FOP 0.9.X sucks less, moving slowly
only PDF support
zopyx.com - SmartPrintNG
17. Why not using any free
XSL-FO processors ?
Apache FOP (Formatting Objects Processor):
old FOP 0.4 sucked like hell
new FOP 0.9.X sucks less, moving slowly
only PDF support
most XSL-FO converters are commercial
zopyx.com - SmartPrintNG
18. Why not using any free
XSL-FO processors ?
Apache FOP (Formatting Objects Processor):
old FOP 0.4 sucked like hell
new FOP 0.9.X sucks less, moving slowly
only PDF support
most XSL-FO converters are commercial
quality has its price
zopyx.com - SmartPrintNG
21. SmartPrintNG - more features
configure header & footer regions within
HTML
support for counters (e.g. page counters)
conditional output for left and right pages
multi-column support
zopyx.com - SmartPrintNG
22. zopyx.convert
encapsulates the complete XSL-FO conversion
logic
wraps css2xslfo, XINC and XFC inside a
Python Package
eats HTML
spits out PDF, RTF, ODT, DOCX
zopyx.com - SmartPrintNG
23. Image support
supports images inside Plone and external
images
converted internally to PNG
open issues:
images resolution selection
fitting images into a fixed layout
zopyx.com - SmartPrintNG
24. SmartPrintNG Licensing
Free for non-commercial use
educational institutions
NGOs
charity organiziations
commercial license in preparation for
commercial usage
zopyx.com - SmartPrintNG