Producing high-Quality
   office documents
      with Plone
  Plone Conference 2007, Naples, Italy


            Andreas Ju...
Available solutions for PDF
                  htmldoc-based solutions:

                       Plone2PDF

                ...
No out-of-the-box solution for Plone
                  available:

                       for generating PDF and other offi...
SmartPrintNG

              exports Plone content to PDF, ODT, WML, RTF

              per content-type configurable

     ...
Historical background

                  XSL-FO based approach in use for the
                  Haufe iDesk plattform

   ...
Let‘s look under the hood
              of SmartPrintNG



zopyx.com - SmartPrintNG
A cross-format solution
                  Build on top of XSL-FO technology

                  XSL-FO:

                  ...
XSL-FO




zopyx.com - SmartPrintNG
Fix this




                           XSL-FO example


                  .....




zopyx.com - SmartPrintNG
XSL-FO wants XML,
            but we have only HTML!



zopyx.com - SmartPrintNG
All hail css2xslfo


                  Input: XML/CSS2 or XHTML/CSS

                  Output: XSL-FO document

          ...
From XSL-FO to
                            PDF & friends



zopyx.com - SmartPrintNG
XSL-FO processors

                  a XSL-FO processor converts a XSL-FO
                  document to some output format...
XSL-FO processors (2)
                  XFC and XINC:

                           Java-based -> cross-plattform

         ...
Why not using any free
             XSL-FO processors ?




zopyx.com - SmartPrintNG
Why not using any free
             XSL-FO processors ?
                Apache FOP (Formatting Objects Processor):

      ...
Why not using any free
             XSL-FO processors ?
                Apache FOP (Formatting Objects Processor):

      ...
Why not using any free
             XSL-FO processors ?
                Apache FOP (Formatting Objects Processor):

      ...
HTML-Fixer                        HTML-Tidy
            HTML
         aggregation
           adapter



                  ...
Content-type specific
                   configuration
     ZCML:
     <smartprintng:resourceDirectory
            interface...
SmartPrintNG - more features

                  configure header & footer regions within
                  HTML

          ...
zopyx.convert

                  encapsulates the complete XSL-FO conversion
                  logic

                  wr...
Image support

                  supports images inside Plone and external
                  images

                  con...
SmartPrintNG Licensing

                  Free for non-commercial use

                       educational institutions

  ...
zopyx.com - SmartPrintNG
zopyx.com - SmartPrintNG
zopyx.com - SmartPrintNG
Upcoming SlideShare
Loading in...5
×

Andreas Jung Producing High Quality Documents With Plone New Approaches In Exporting Plone Content Into Office Formats

3,097

Published on

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.

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
3,097
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
99
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Andreas Jung Producing High Quality Documents With Plone New Approaches In Exporting Plone Content Into Office Formats

  1. 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. 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. 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. 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. 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. 6. Let‘s look under the hood of SmartPrintNG zopyx.com - SmartPrintNG
  7. 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
  8. 8. XSL-FO zopyx.com - SmartPrintNG
  9. 9. Fix this XSL-FO example ..... zopyx.com - SmartPrintNG
  10. 10. XSL-FO wants XML, but we have only HTML! zopyx.com - SmartPrintNG
  11. 11. All hail css2xslfo Input: XML/CSS2 or XHTML/CSS Output: XSL-FO document Java-based http://www.re.be/css2xslfo zopyx.com - SmartPrintNG
  12. 12. From XSL-FO to PDF & friends zopyx.com - SmartPrintNG
  13. 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. 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. 15. Why not using any free XSL-FO processors ? zopyx.com - SmartPrintNG
  16. 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. 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. 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
  19. 19. 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
  20. 20. 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
  21. 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. 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. 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. 24. SmartPrintNG Licensing Free for non-commercial use educational institutions NGOs charity organiziations commercial license in preparation for commercial usage zopyx.com - SmartPrintNG
  25. 25. zopyx.com - SmartPrintNG
  26. 26. zopyx.com - SmartPrintNG
  27. 27. zopyx.com - SmartPrintNG
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×