218 lines
7.1 KiB
YAML
218 lines
7.1 KiB
YAML
.t ReportLab API Reference
|
|
|
|
.nextPageTemplate Normal
|
|
|
|
.h1 Introduction
|
|
|
|
This is the API reference for the ReportLab library. All public
|
|
classes, functions and methods are documented here.
|
|
|
|
Most of the reference text is built automatically from the
|
|
documentation strings in each class, method and function.
|
|
That's why it uses preformatted text and doesn't look very
|
|
pretty.
|
|
|
|
Please note the following points:
|
|
.bu <seqdefault id='list'/><bullet>(<seq/>)</bullet>Items with one leading underscore are considered private
|
|
to the modules they are defined in; they are not documented
|
|
here and we make no commitment to their maintenance.
|
|
.bu <bullet>(<seq/>)</bullet>Items ending in a digit (usually zero) are experimental;
|
|
they are released to allow widespread testing, but are
|
|
guaranteed to be broken in future (if only by dropping the
|
|
zero). By all means play with these and give feedback, but
|
|
do not use them in production scripts.
|
|
|
|
.h2 Package Architecture
|
|
|
|
The reportlab package is broken into a number of subpackages.
|
|
These are as follows:
|
|
|
|
.df <font name="Courier"><b>reportlab.pdfgen</b></font>
|
|
- this is the programming
|
|
interface to the PDF file format. The Canvas (and its co-workers,
|
|
TextObject and PathObject) provide everything you need to
|
|
create PDF output working at a low level - individual shapes
|
|
and lines of text. Internally, it constructs blocks of
|
|
<i>page marking operators</i> which match your drawing commands,
|
|
and hand them over to the <font name="Courier">pdfbase</font>
|
|
package for drawing.
|
|
|
|
.df <font name="Courier"><b>reportlab.pdfbase</b></font>
|
|
- this is not part of the
|
|
public interface. It contains code to handle the 'outer
|
|
structure' of PDF files, and utilities to handle text metrics
|
|
and compressed streams.
|
|
|
|
.df <font name="Courier"><b>reportlab.platypus</b></font>
|
|
- PLATYPUS stands for
|
|
"Page Layout and Typography Using Scripts". It provides a
|
|
higher level of abstraction dealing with paragraphs, frames
|
|
on the page, and document templates. This is used for multi-
|
|
page documents such as this reference.
|
|
|
|
.df <font name="Courier"><b>reportlab.lib</b></font>
|
|
- this contains code of
|
|
interest to application developers which cuts across
|
|
both of our libraries, such as standard colors, units, and
|
|
page sizes. It will also contain more drawable and flowable
|
|
objects in future.
|
|
|
|
There is also a demos directory containing various demonstrations,
|
|
and a docs directory. These can be accessed with package
|
|
notation but should not be thought of as packages.
|
|
|
|
Each package is documented in turn.
|
|
|
|
.pageBreak
|
|
.h1 <i>reportlab.pdfgen</i> subpackage
|
|
|
|
This package contains three modules, canvas.py, textobject.py
|
|
and pathobject.py, which define three classes of corresponding
|
|
names. The only class users should construct directly is
|
|
the Canvas, defined in reportlab.pdfgen.canvas; it provides
|
|
methods to obtain PathObjects and TextObjects.
|
|
|
|
|
|
.getClassDoc reportlab.pdfgen.canvas Canvas
|
|
.pageBreak
|
|
The method Canvas.beginPath allows users to construct
|
|
a PDFPathObject, which is defined in reportlab/pdfgen/pathobject.py.
|
|
|
|
.getClassDoc reportlab.pdfgen.pathobject PDFPathObject
|
|
.pageBreak
|
|
The method Canvas.beginText allows users to construct
|
|
a PDFTextObject, which is defined in reportlab/pdfgen/textobject.py.
|
|
|
|
.getClassDoc reportlab.pdfgen.textobject PDFTextObject
|
|
|
|
.pageBreak
|
|
.h1 <i>reportlab.platypus</i> subpackage
|
|
|
|
The platypus package defines our high-level page layout API.
|
|
The division into modules is far from final and has been
|
|
based more on balancing the module lengths than on any
|
|
particular programming interface. The __init__ module
|
|
imports the key classes into the top level of the package.
|
|
|
|
.h2 Overall Structure
|
|
|
|
Abstractly Platypus currently can be thought of has having four
|
|
levels: documents, pages, frames and flowables (things which can fit into frames in some way).
|
|
In practice there is a fifth level, the canvas, so that if you want
|
|
you can do anything that pdfgen's canvas allows.
|
|
|
|
.h2 Document Templates
|
|
.h3 BaseDocTemplate
|
|
|
|
The basic document template class; it provides for initialisation and
|
|
rendering of documents. A whole bunch of methods
|
|
<b><font name=courier>handle_XXX</font></b> handle document
|
|
rendering events. These event routines all contain some
|
|
significant semantics so while these may be overridden that
|
|
may require some detailed knowledge. Some other methods are
|
|
completely virtual and are designed to be overridden.
|
|
.h3 BaseDocTemplate
|
|
.getClassDoc reportlab.platypus.doctemplate BaseDocTemplate
|
|
|
|
.pageBreak
|
|
A simple document processor can be made using derived class,
|
|
<b><font name=courier>SimpleDocTemplate</font></b>.
|
|
|
|
.pageBreak
|
|
.h3 SimpleDocTemplate
|
|
.getClassDoc reportlab.platypus.doctemplate SimpleDocTemplate
|
|
|
|
.pageBreak
|
|
.h2 Flowables
|
|
.getClassDoc reportlab.platypus.paragraph Paragraph
|
|
.getClassDoc reportlab.platypus.flowables Flowable
|
|
.getClassDoc reportlab.platypus.flowables XBox
|
|
.getClassDoc reportlab.platypus.flowables Preformatted
|
|
.getClassDoc reportlab.platypus.flowables Image
|
|
.getClassDoc reportlab.platypus.flowables Spacer
|
|
.getClassDoc reportlab.platypus.flowables PageBreak
|
|
.getClassDoc reportlab.platypus.flowables CondPageBreak
|
|
.getClassDoc reportlab.platypus.flowables KeepTogether
|
|
.getClassDoc reportlab.platypus.flowables Macro
|
|
.getClassDoc reportlab.platypus.xpreformatted XPreformatted
|
|
.getClassDoc reportlab.platypus.xpreformatted PythonPreformatted
|
|
|
|
.pageBreak
|
|
.h1 <i>reportlab.lib</i> subpackage
|
|
|
|
This package contains a number of modules which either add utility
|
|
to pdfgen and platypus, or which are of general use in graphics
|
|
applications.
|
|
|
|
.h2 <i>reportlab.lib.colors</i> module
|
|
.getModuleDoc reportlab.lib.colors
|
|
|
|
.h2 <i>reportlab.lib.corp</i> module
|
|
.getModuleDoc reportlab.lib.corp
|
|
|
|
.h2 <i>reportlab.lib.enums</i> module
|
|
.getModuleDoc reportlab.lib.enums
|
|
|
|
.h2 <i>reportlab.lib.fonts</i> module
|
|
.getModuleDoc reportlab.lib.fonts
|
|
|
|
.h2 <i>reportlab.lib.pagesizes</i> module
|
|
.getModuleDoc reportlab.lib.pagesizes
|
|
|
|
.h2 <i>reportlab.lib.sequencer</i> module
|
|
.getModuleDoc reportlab.lib.sequencer
|
|
|
|
|
|
|
|
|
|
.pageBreak
|
|
.h1 Appendix A - CVS Revision History
|
|
.beginPre Code
|
|
$Log: reference.yml,v $
|
|
Revision 1.1 2001/10/05 12:33:33 rgbecker
|
|
Moved from original project docs, history lost
|
|
|
|
Revision 1.13 2001/08/30 10:32:38 dinu_gherman
|
|
Added missing flowables.
|
|
|
|
Revision 1.12 2001/07/11 09:21:27 rgbecker
|
|
Typo fix from Jerome Alet
|
|
|
|
Revision 1.11 2000/07/10 23:56:09 andy_robinson
|
|
Paragraphs chapter pretty much complete. Fancy cover.
|
|
|
|
Revision 1.10 2000/07/03 15:39:51 rgbecker
|
|
Documentation fixes
|
|
|
|
Revision 1.9 2000/06/28 14:52:43 rgbecker
|
|
Documentation changes
|
|
|
|
Revision 1.8 2000/06/19 23:52:31 andy_robinson
|
|
rltemplate now simple, based on UserDocTemplate
|
|
|
|
Revision 1.7 2000/06/17 07:46:45 andy_robinson
|
|
Small text changes
|
|
|
|
Revision 1.6 2000/06/14 21:22:52 andy_robinson
|
|
Added docs for library
|
|
|
|
Revision 1.5 2000/06/12 11:26:34 andy_robinson
|
|
Numbered list added
|
|
|
|
Revision 1.4 2000/06/12 11:13:09 andy_robinson
|
|
Added sequencer tags to paragraph parser
|
|
|
|
Revision 1.3 2000/06/09 01:44:24 aaron_watters
|
|
added automatic generation for pathobject and textobject modules.
|
|
|
|
Revision 1.2 2000/06/07 13:39:22 andy_robinson
|
|
Added some text to the first page of reference, and a build batch file
|
|
|
|
Revision 1.1.1.1 2000/06/05 16:39:04 andy_robinson
|
|
initial import
|
|
|
|
.endPre
|
|
|
|
|
|
|