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