QR Codes in Crystal Reports
I just had an interesting support question from a customer, and felt the need to put pen to paper.
They’re finding that regular barcodes are getting too long, so want to switch to using QR Codes for their ID badges.
They use Crystal Reports to print the IDs, so need a solution for Crystal Reports. While a User Function Library (UFL) could be used, they’d prefer to avoid the extra work involved in installing the UFL on the PCs and Enterprise Server.
So, the best (only?) option is to use a Web Service and conditionally format an image in Crystal to show the correct QR code.
If you want to do things the hard way, head over to https://google-developers.appspot.com/ and look at the chart API.
If you want to do it the easy way, just do this:
- First head over to ZXing
- Define your base QR Code. It’s easier to edit this later with any custom information in Crystal Reports
- Create your Crystal Report
- Insert any old image, and make it slightly larger than you want the QR code to appear.
- Right click the image and select ‘Format Graphic’
- Select the Picture Tab
- Click the ‘Custom Format’ (x+2) button next to Graphic Location
- Paste in the URL you created in Step 2, put quotation marks around it so that it’s interpreted as a string
- Click OK
- You now have a static QR code in your report. You’ll probably need to adjust the sizing.
- Modify the URL you created in 8 so that the QR Code becomes dynamic and includes the information you need.
If you’re having problems, the zip file attached to this contains an empty report with a dynamically formatted graphic containing a QR code. You also get a picture of one of my ducklings thrown in for free!
EDIT: Not sure what happened to the file I attached. One of the mysteries of SCN I think. I’ve uploaded it to here
I must admit, I didn’t realise just how flexible QR codes were until I started this. I’m really impressed!
Another Edit: Sorry about the download link, it will now take you to the source blog where there is a working download.
If you’re having any problems, chances are you’re missing the http:// from the start of the image url
HTTPS isn’t supported either (that’s a Crystal thing, nothing to do with QR codes)