• Like


Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Producing high-quality documents with Plone

Uploaded on

Explains how to generated RTF, PDF, ODT, DOCX and WML from Plone contgent

Explains how to generated RTF, PDF, ODT, DOCX and WML from Plone contgent

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 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. About me working w/ Zope since 1999 Zope 2 release manager Co-founder and 2nd chairman German Zope User Group (DZUG) Author of various software for Zope/Plone: TextIndexNG 1-3, PloneCollectorNG, SQLAlchemyDA, zopyx.convert, z3c.sqlalchemy CEO of ZOPYX Ltd. & Co. KG focused on e-publishing solutions (Python, Zope, Plone) zopyx.com - SmartPrintNG
  • 3. Plone has a poor export story for office formats zopyx.com - SmartPrintNG
  • 4. 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
  • 5. 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
  • 6. SmartPrintNG exports Plone content to PDF, ODT, WML, RTF, DOCX per content-type configurable content-aggregation templates and styles works out-of-the-box with any content-type highly configurable and customizable zopyx.com - SmartPrintNG
  • 7. A quick demo... http://smartprintng.zopyx.com zopyx.com - SmartPrintNG
  • 8. A quick look under the hood of SmartPrintNG zopyx.com - SmartPrintNG
  • 9. A cross-format+platform 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
  • 10. XSL-FO zopyx.com - SmartPrintNG
  • 11. 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 150.000 customers (means: 150.000 customers running Zope on their Windows desktop) zopyx.com - SmartPrintNG
  • 12. XSL-FO wants XML, but we have only HTML! zopyx.com - SmartPrintNG
  • 13. All hail css2xslfo Input: XML/CSS2 or XHTML/CSS Output: XSL-FO document Java-based http://www.re.be/ the „transformer“ zopyx.com - SmartPrintNG
  • 14. From XSL-FO to PDF & friends zopyx.com - SmartPrintNG
  • 15. XSL-FO processors (the „formatters“) 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
  • 16. 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
  • 17. HTML-Fixer HTML-Tidy HTML aggregation adapter HTML css2xslfo (Java) XSL-FO xer manipulator Template/ XINC (java) XFC (Java) CSS chooser Template Document renderer (PDF, RTF, ODT, DOCX) SmartPrintNG zopyx.convert zopyx.com - SmartPrintNG
  • 18. Content-type specific configuration ZCML: <smartprintng:resourceDirectory interfaces=quot;Products.ATContentTypes.interface.interfaces.IATDocumentquot; directory=quot;documentquot; /> Filesystem: > ls -la document -rw------- 1 ajung users 540 Sep 5 18:53 Big.css -rw------- 1 ajung users 515 Sep 5 18:52 StandardStylesheet.css -rw------- 1 ajung users 820 Sep 5 18:50 StandardTemplate.pt -rw------- 1 ajung users 617 Sep 5 17:34 default.fo_css zopyx.com - SmartPrintNG
  • 19. SmartPrintNG - more features configurable header & footer regions within HTML support for counters (e.g. page counters) conditional output for left and right pages multi-column support hyphenation support zopyx.com - SmartPrintNG
  • 20. 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
  • 21. zopyx.convert encapsulates the complete XSL-FO conversion logic wraps css2xslfo, XINC and XFC inside a Python Package Input: HTML Output: PDF, RTF, ODT, DOCX, WML available as egg - use it a non-Zope environment zopyx.com - SmartPrintNG
  • 22. zopyx.com - SmartPrintNG
  • 23. zopyx.com - SmartPrintNG
  • 24. zopyx.com - SmartPrintNG
  • 25. (Free) alternatives? Apache FOP processor: old FOP 0.4 sucked like hell new FOP 0.9.X sucks less, moving slowly only PDF support Open-Office (server mode) not stable enough another fat dependency zopyx.com - SmartPrintNG
  • 26. SmartPrintNG Licensing Free for non-commercial use educational institutions NGOs charity organiziations OSS projects commercial license in preparation for commercial usage (for buying an OEM license) zopyx.com - SmartPrintNG