Skip to content

Whats 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 source test_002_paras_index.rml & output test_002_paras_index.pdf

Image

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

            Codabar
            Code11
            Code128
            EAN13
            EAN5 (new)
            EAN8
            ECC200DataMatrix (new)
            Extended39
            Extended93
            FIM
            I2of5
            ISBN
            MSI
            POSTNET
            QR
            Standard39
            Standard93
            UPCA (new)
            USPS_4State

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 source test_028_fields.rml

Image

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 source

<ul> example Image

<ol> example Image

5) added support for rotating bullets in ul/ol; version-->3.3.33

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