[reportlab-users] Performance Issue generating multiple QR codes
thomasspin at gmail.com
Wed Sep 17 15:18:53 EDT 2014
ah yes - and the bottleneck was not the qr code data generation, but
reportlab printing the qr code. it seems as it is quite a challenge for
reportlab to render the qr code when using QrCodeWidget. But rending .pngs
is super fast! Thus I would recommend rendering QR code images.
2014-09-17 21:15 GMT+02:00 Thomas Kremmel <thomasspin at gmail.com>:
> > Seriously? You have a QR block that covers 40 square inches? Will QR
> > scanners read that?
> Yeah, they can read it quite easily.
> For the record. I switched to generating the QR data as a .png and
> rendering the resulting .png into the .pdf. Brings down the 20 seconds to
> 2. :)
> Here is the code, using https://pypi.python.org/pypi/qrcode instead of
> the reportlab QrCodeWidget .
> qr = qrcode.QRCode(
> qr_img = qr.make_image()
> # create a byte stream
> output = io.BytesIO()
> # put image data into byte stream
> # set byte stream to first read position
> # create reportlab image with byte stream
> rl_img = Image(output, width=10*cm, height=10*cm)
> 2014-09-17 19:43 GMT+02:00 Tim Roberts <timr at probo.com>:
>> Thomas Kremmel wrote:
>> > Hello,
>> > I'm using Reportlab to generate a pdf with 10 pages. I print on each
>> > page a QR code, which is about half the size of the A4 page.
>> Seriously? You have a QR block that covers 40 square inches? Will QR
>> scanners read that?
>> > The generation of the .pdf takes me about 20 seconds.
>> > When I generate the .pdf without the QR codes the .pdf is generated
>> > immediately. Thus it is obvious that the pdf generation of the QR
>> > codes consumes the most time.
>> > Any idea what I could do here to bring this down to an user acceptable
>> > time - say 2 seconds.
>> Generating a QR code is computationally expensive. There's no two ways
>> about it. It's a recursive algorithm with lots of mathematics. If this
>> is a problem for you, you could try to rewrite part of the algorithm in
>> C++, but it would be tricky to integrate that with the Python code.
>> Tim Roberts, timr at probo.com
>> Providenza & Boekelheide, Inc.
>> reportlab-users mailing list
>> reportlab-users at lists2.reportlab.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the reportlab-users