[reportlab-users] PDF Transparency

Robin Becker robin at reportlab.com
Thu Nov 27 12:45:31 EST 2008


King Simon-NFHD78 wrote:

> Hi,

>

> Does anyone have any plans to support the PDF Transparency model in

> ReportLab?

..........

>

> The basic idea was:

>

> * add an attribute to the canvas that tracks ExtGStates

>

> * add set[Non]StrokeAlphaConstant methods that create and activate new

> ExtGStates

>

> * in canvas.showPage, pass the ExtGStates on to the page

>

> * add strokeOpacity and fillOpacity to some of the shapes in

> reportlab.graphics.shapes

>

> * update _PDFRenderer.applyStateChanges to pas those properties on to

> the canvas.

>

> I also had to update PDFHeader to PDF version 1.4, because that is the

> first version that supported transparency.

>

> This is the first time I've looked at both the PDF spec and the

> reportlab code, so I've probably done something very silly. Does this

> approach sound reasonable?

>

> One flaw at the moment is that a new graphics state gets created every

> time you call set[Non]StrokeAlphaConstant, even if you pass the same

> parameter. It would be much better to reuse states if possible.

>

> I can post the patch if anyone is interested.

>

> Thanks for listening,

>

> Simon King

.......
by all means post the patch. I guess the main problem is that we'd probably like
to expose 1.4 capabilities in a controlled way. Perhaps we should have an
attribute that specified which level of PDF is being aimed at. I guess that
should probably be on the PDFDoc, but perhaps it should be settable on the
canvas (as that needs support as well).
--
Robin Becker


More information about the reportlab-users mailing list