[reportlab-users] new backend renderer

Robin Becker robin at reportlab.com
Thu Feb 25 08:21:34 EST 2021


Hi Claude,

after the problems with 3.5.60 I decided that the lgl_libart renderer in _renderPM.c is not able to cope with the kinds 
of drawings that you need.

So I have coded another renderer call rlPyCairo which acts as an interface between reportlab.graphics.renderPM and pycairo.

The rlPyCairo package is available on pypi, but because we can no longer build 2.7 wheels for reportlab I have not 
pushed 3.5.61 to pypi. The wheels I have built are available at our own pypi https://www.reportlab.com/pypi.

This renderer does render your failing example properly (so far as I can tell) and the fill overflows do not occur. 
Cairo is obviously a more up to date code so I would expect that.

To get this renderer into action a parameter has to be passed into the PMCanvas; that can be done with a global setting 
  rl_config.renderPMBackend='rlPyCairo'. Alternatively the drawing save method can have _renderPM_backend='rlPyCairo' 
passed in.
-- 
Robin Becker


More information about the reportlab-users mailing list