[reportlab-users] Performance Issue generating multiple QR codes
Thomas Kremmel
thomasspin at gmail.com
Wed Sep 17 15:15:24 EDT 2014
> 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(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(qr_code_data)
qr.make(fit=True)
qr_img = qr.make_image()
# create a byte stream
output = io.BytesIO()
# put image data into byte stream
qr_img.save(output)
# set byte stream to first read position
output.seek(0)
# create reportlab image with byte stream
rl_img = Image(output, width=10*cm, height=10*cm)
self.pdf.img(rl_img)
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
> https://pairlist2.pair.net/mailman/listinfo/reportlab-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/reportlab-users/attachments/20140917/baacc387/attachment.html>
More information about the reportlab-users
mailing list