ReportLab PDF Library description
ReportLab PDF Library - Library for creating professional, dynamic PDF.
ReportLab PDF Library - Package for high-quality dynamic personalized PDF documents in real-time & high volumes from any data sources. EPS and bitmap formats can also be created. Has many graphics libraries, e.g. business charts.
Ideal for automated reporting needs.
Here are some key features of "ReportLab PDF Library":
· Create professional portable documents
· Real document layout engine (Platypus)
· Flowable objects such as paragraphs, headlines, tables, images, graphics, etc.
· Arbitrary Type-1 fonts
· Bitmap images, vector graphics
· Library of reusable primitive shapes
· Extensible widget library
· Uses Python, a clean OO language
· Layered architecture
· Includes simple demos and more complex tools
· Allows for any data sources
· Fully available source code
· Strong community support
· Platform-independent
· Includes PythonPoint - PDF Presentation Tool
What's New in This Release:
· Prior to 1.20, the distutils setup.py script was a contribution we did not support. We've now done some work on this and it works (to the best of our knowledge). This was tested on FreeBSD and Windows. We welcome feedback on the setup script.
· The accelerator and extension code has been broken out into a separate tree in our subversion archive (see the subversion instructions). So, _rl_accel.c is no longer in reportlab.lib.
The setup script is smart enough to prompt you about how to get this, and to compile extensions if present.
· We made numerous changes so that the entire framework (and apps using it) can now be run out of a Python 2.3 zip archive (the equivalent of Java JAR deployment). All file-opening operations such as reading DTDs, PDFs, fonts and other resources can be loaded out of zip archives. This makes it possible to deploy document-generating apps as atomic units.
· An invariant mode has been added to generate PDF files without any timestamp information. This means that the same input should produce the same output, which in turn facilitates regression testing.
· Many new formatting features including
· Frames have a new attribute overlapAttachedSpace (0 or 1) (see reportlab/platypus/frames.py). This will intelligently combine the spaceBefore and spaceAfter of adjacent elements and take the greater, if set. Thus, a paragraph with 6 points of space after and a heading with 24 points of space before will end up separated by 24 points of space rather than 30.
· Tables have spaceBefore and spaceAfter attributes, so you don't have to insert spacers around them.
· Tables with spanned cells no longer get "slashed" by the grid drawing commands
· Lines in tables now allow multiples through the 'count' and 'space' slots of the lineStyle list. These are not required but can be supplied if desired. The inter-line spacing is equal to line width if not given. The full possible set of attributes for lines is defined as a list like this: operation, (startCol, startRow), (endCol,endRow), weight, color, cap, dash, join, count, space
· Cycling through colours: you can specify alternating sequences of colours for table rows or columns (e.g. green-white-green-white). To do a cycle running vertically, you would use the drawing command ROWBACKGROUNDS and supply a list of colours instead of a colour. Example in test/test_platypus_tables.py.
· An HTML-style 'horizontal rule' flowable has been added. This has the usual attributes of line objects (lineCap, thickness, align, color, spaceBefore, spaceAfter), and its width is 80% of that of the frame by default. See reportlab/platypus/flowables.py line 560.
· An indent tag allows you to set a relative indent on left, right or both sides across a span of the story. This makes nested lists and indented subsections easy. (It was there before but we hadn't told people noisily enough, and some are still asking!) See reportlab/test/test_platypus_indents.py
· A "please turn over" flowable feature lets you specify content to be included at the end of a frame or a beginning when an object is continued. This will typicallly be used with complex nested tables which need special continuation headers and footers. reportlab/test/test_platypus_pto.py