<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Andy Robinson (ReportLab Europe Ltd.) -->
<!DOCTYPE presentation SYSTEM "../pythonpoint.dtd">
<presentation filename="monterey.pdf">
  <stylesheet module="modern" function="getParagraphStyles"/>
  <!--
        sections define a colection of stuff to be drawn on all pages they contain.
        They must begin with a graphics list
    -->
  <section name="Main">
    <fixedimage filename="vertpython.gif" height="595" width="144" x="0" y="0"/>
    <slide title="Cover" id="Slide001" effectname="Wipe">
      <!--
            put stuff here to be drawn on the page directly
        -->
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para/>
        <para/>
        <para/>
        <para style="Title">
                    Printing with Python
                </para>
        <image filename="lj8100.jpg"/>
        <para style="BigCentered">
                    Andy Robinson, Robinson Analytics Ltd.
                </para>
        <para style="BigCentered">
                    O'Reilly Python Conference, Monterey, 24th August 1999
                </para>
      </frame>
    </slide>
    <slide title="Background" id="Slide002" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Background to the project:
                </para>
        <para style="Bullet">
                    London-based consultant and corporate developer
                </para>
        <para style="Bullet">
                    want to do neat Python stuff in the daytime
                </para>
        <para style="Bullet">
                    working for many years on financial modelling
                </para>
        <para style="Bullet">
                    this is one of 6 modules in that system
                </para>
        <para style="Bullet">
                    quickest to deliver, offers very wide benefits
                </para>
        <para style="Bullet">
                    25% of architecture done, but already very useful
                </para>
        <para style="Bullet">
                    Release early, release often!
                </para>
      </frame>
    </slide>
    <slide title="Goal" id="Slide003" effectname="Wipe">
      <fixedimage filename="vertpython.gif" height="595" width="144" x="0" y="0"/>
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Goal:
                </para>
        <para style="BodyText">
                    A Reporting Package on the Next Curve...
                </para>
        <para style="Bullet">
                    Report on objects, not databases
                </para>
        <para style="Bullet">
                    Scalable to million page runs
                </para>
        <para style="Bullet">
                    Light enough to embed in any application
                </para>
        <para style="Bullet">
                    Allow reuse of graphical objects across reports
                </para>
        <para style="Bullet">
                    Open and extensible on several levels
                </para>
        <para style="Bullet">
                    Publication quality
                </para>
        <para style="Bullet">
                    Support all the world's languages - one day
                </para>
      </frame>
    </slide>
    <slide title="Portable Document Format" id="Slide004" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Portable Document Format
                </para>
        <para style="Italic">
                    The New PostScript
                </para>
        <para style="Bullet">
                    Free readers on all platforms
                </para>
        <para style="Bullet">
                    Better than paper - view it, email it, print it
                </para>
        <para style="Bullet">
                    'Final Form' for documents
                </para>
        <para style="Bullet">
                    High end solution - no limits to quality
                </para>
        <para style="Italic">
                    ...but you can't learn it in Notepad!
                </para>
      </frame>
    </slide>
    <slide title="PDFgen and PIDDLE" id="Slide005" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para/>
        <para/>
        <para style="Title">
                    PDFgen and PIDDLE
                </para>
      </frame>
    </slide>
    <slide title="PDFgen layer" id="Slide006" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Layer One - PDFgen
                </para>
        <para style="Bullet">
                    makes PDF documents from pure Python
                </para>
        <para style="Bullet">
                    wraps up PDF document structure
                </para>
        <para style="Bullet">
                    exposes nice effects - page transitions, outline trees (RSN!)
                </para>
        <para style="Bullet">
                    low level graphics promitives (postscript imaging model)
                </para>
        <para style="Bullet">
                    Fine control of text placement
                </para>
        <para style="Bullet">
                    Supports Asian text
                </para>
        <para style="Bullet">
                    Supports coordinate transformations and clipping
                </para>
        <para style="Italic">
                    ...a foundation for other apps to build on
                </para>
      </frame>
    </slide>
    <slide title="PDF Image Suport" id="Slide007" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    PDFgen Image Support
                </para>
        <para>
                    Python Imaging Library and zlib do all the work - many formats.
                    Images cached (like .pyc files) - very fast builds possible.
                </para>
        <image filename="python.gif" width="588" height="200"/>
      </frame>
    </slide>
    <slide title="Layer Two: PIDDLE" id="Slide008" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Layer Two: PIDDLE
                </para>
        <para style="Italic">
                    Plug In Drawing, Does Little Else
                </para>
        <para style="Bullet">
                    Easy Graphics Library
                </para>
        <para style="Bullet">
                    Abstract Canvas Interface
                </para>
        <para style="Bullet">
                    Pluggable Back Ends
                </para>
        <para style="Bullet">
                    Same code can do viewing and printing
                </para>
        <para style="Bullet">
                    Standard set of test patterns
                </para>
        <para style="Bullet">
                    Uses Python Imaging Library
                </para>
        <para style="BodyText">
                    Back ends includeTkinter, wxPython, Mac, Pythonwin, PDF, PostScript,
                    OpenGL, Adobe Illustrator and PIL.  Really easy to add a new one!
                </para>
      </frame>
    </slide>
    <slide title="Layer Three: PLATYPUS" id="Slide009" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Layer Three: PLATYPUS
                </para>
        <para style="Italic">
                    "Page Layout And Typography Using Scripts"
                </para>
        <para style="BodyText">
                    Trying to work out the API now.  Key Concepts:
                </para>
        <para style="Bullet">
                    Drawable objects - can 'wrap to fit'
                </para>
        <para style="Bullet">
                    Frames on page
                </para>
        <para style="Bullet">
                    Frame consumes from a list of drawables until full
                </para>
        <para style="Bullet">
                    Document Models e.g. SimpleFlowDocument
                </para>
        <para style="BodyText">
                    XSL Flow Object model may be a good target
                </para>
      </frame>
    </slide>
    <slide title="Drawable Objects" id="Slide010" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Drawable Objects
                </para>
        <para style="BodyText">
                    Next layer of PIDDLE extensibility.  
                    Each draws in its own coodinate system
                </para>
        <para style="Bullet">
                    paragraph, image, table
                </para>
        <para style="Bullet">
                    chart libraries
                </para>
        <para style="Bullet">
                    diagrams
                </para>
        <para style="BodyText">
                    Open Source - let people contribute new ones.
                    Anything you could have in a view can be a new 
                    drawable type.
                </para>
      </frame>
    </slide>
    <slide title="Style Sheets" id="Slide011" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Style Sheet Driven
                </para>
        <para style="BodyText">
                    Styles use instance inheritance
                </para>
        <para style="Bullet">
                    Paragraph Styles - Style Sheet Compulsory!
                </para>
        <para style="Bullet">
                    Text Styles within a paragraph
                </para>
        <para style="Bullet">
                    Table and Table Cell Styles
                </para>
      </frame>
    </slide>
    <slide title="Vision" id="Slide012" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    Vision
                </para>
        <para style="Bullet">
                    XML to PDF in one step
                </para>
        <para style="Bullet">
                    Publish to web and print from same source
                </para>
        <para style="Bullet">
                    Financial and Scientific reporting tool
                </para>
        <para style="Bullet">
                    Embedded reporting engine
                </para>
        <para style="Bullet">
                    Volume reporting tool for business
                </para>
      </frame>
    </slide>
    <slide title="PythonPoint" id="Slide013" effectname="Wipe">
      <frame height="432" x="160" y="72" rightmargin="0" width="600" leftmargin="36">
        <para style="Heading2">
                    PythonPoint
                </para>
        <para style="Italic">
                    How I made this presentation...
                </para>
      </frame>
    </slide>
  </section>
</presentation>
