307 lines
12 KiB
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>
|