odoo/bin/reportlab/tools/pythonpoint/demos/monterey.xml

307 lines
12 KiB
XML

<?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>