What's new in ReportLab 3.4

released on 7th March 2017

Changes to commercial package (rlextra/ReportLab PLUS)

1) We now support SVG as a format for embedded vector graphics. Refer to samples https://www.reportlab.com/examples/rml/test/test_002_paras_index.rml & https://www.reportlab.com/examples/rml/test/test_002_paras_index.pdf

In order to do this, a number of subtle changes and options to the rendering model were needed:

The <path> tag may now contain a <closePath/> tag to indicate that this is a closed path. The last point will be joined to the start.

The <path> tag has extra attributes
attribute fillRule (none | even-odd | non-zero)

none means use whatever is current default; even-odd means even odd crossing
determines the filling of the path, non-zero means that the crossing number
should be non-zero.

Attribute autoClose (none | pdf | svg) for filled  non closed subpaths use
different methods of filling the subpath. The svg mechanism measn effectively
stroking and drawing separately.

For examples see the end of test_050_paths.rml at https://www.reportlab.com/examples/rml/test/test_050_paths.rml

The image type attribute may now be "svg" to allow svg drawings to be used.


2)  The <barCodeFlowable> and <barCode> tags now support these encodings
                EAN5 (new)
                ECC200DataMatrix (new)
                UPCA (new)

3) We have considerably expanded our support for fillable forms within PDF files. The <textField> tag has many more attributes<checkboxField>, <radioField>, <choiceField> & <listboxField> which
along with the new <textField> make possible PDF forms. See example in test_028_fields.rml at https://www.reportlab.com/examples/rml/test/test_028_fields.rml

4) The <ul> & <ol> tags now support automatic style change for the start/type parameter, by using a space separated list fo start values. See for https://www.reportlab.com/examples/rml/test/test_046_lists.rml

<ul> example

<ol> example


  • added support for rotating bullets in ul/ol; version-->3.3.33
  • add relative value <sup>/<sub> examples; version-->3.3.1

Changes to Open Source package (reportlab)

Also contains some commercial package (rlextra/ReportLab PLUS) fixes.

* More pagesizes from https://en.wikipedia.org/wiki/Paper_size (contributed by https://bitbucket.org/alainchiasson/)
* add in fillMode (fill-rule) variable to the graphics state for drawings
* add support for automatic bullet rotation in ListFlowables.
* fix acroform annotation bug in radios (reported by Olivia Zhang)
* fix split paragraph rendering bug (reported by Olivia Zhang & Echo Bell)
* Allow Image to have a drawing as argument
* support for Path autoclose & fillMode; version --> 3.3.29
* add support for different fill policies in renderXX drawPath; version-->3.3.28
* allow for UTF_16_LE BOM, fix for bug contributed by Michael Poindexter mpoindexter@housecanary.com
* improved support for images in renderPM/renderSVG bug report from Claude Paroz
* add AcroForm support to canvas; version --> 3.3.22
* avoid cr lf line endings
* attempt to ensure zipImported has some files or returns None
* added additonal test to barcode/test.py
* add an invisible font test thanks https://bitbucket.org/kb/ Konstantin Baierer
* add mailto href test
* improve UPCA barcode contribution by Kyle McFarlane https://bitbucket.org/kylemacfarlane/
* attempt to fix __loader__ issues in pyinstaller suggested by dbrnz @ bitbucket
* fix NormalDate comprisons in python3.x
* fix ypad use in ParagraphAndImage contrib annamarianfr@bitbucket, version-->3.3.16
* try to prevent multiple saving contrib by Tim Meneely
* fix problems with svg drawToString contrib by Eric Gillet & Johann Du Toit
* fix issue reported by Yitzchak Scott-Thoennes <sthoenna@gmail.com>
* fix fake KeepTogether setup in handle_keepWithNext
* add NullActionFlowable, fix empty KeepTogether
* really merge para-measure-fix
* merge para-measure-fix changes
* fixes to TypedPropertyCollection
* changes to Render class; allow drawings to specify initialFontName/Size
* fix python>=3.2 default axis labelling to match python2.x; bugfix contributed by Robin Westin bitbucket issue #82
* fix AttributeError reported by Kay Schluehr bitbucket issue #81
* add experimental time value axis
* fix bug in python shapes rendering
* add negative span style to test_platypus_tables splitting example
* fix segfault in _rl_accel.c; fix contributed by Neil Schemenauer as issue #78
* attempt to remove quadratic performance hit when longTableOptimize is set
* allow DATA: scheme in open for read
* import Table _rowpositions calculation
* support small ttfs which do not allow subsets
* add rl_settings allowTTFSubsetting
* address issue #76 (deprecated immports) reported by Richard Eames
* add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
* fix bug in tables.py reported by Vytis Banaitis @ bitbucket; version-->3.3.2
* minor change to allow barWidth setting in ecc200datamatrix.py (suggested by Kyle MacFarlane @ bitbucket)
* make paraparser syntax errors real and fix <sup/sub> tags to have relative values; version-->3.3.1