|
FrequentlyAskedQuestions
Frequently Asked Questions about zxing
GeneralWhat is this name?Pronounce it "zebra crossing". Some of us thought this cleverly evokes people crossing striped pedestrian crosswalks, much as barcode readers cross an image. We wanted to pick a name that was unique, short, and memorable. How is this licensed?Apache License, v2.0. We rewrote some bits of code from scratch that were otherwise already available (like Reed-Solomon decoding) since they were licensed under the GPL. We wanted to release this under a license with fewer conditions, to maximize its usability. Can I help?Most certainly. We can accept code submissions too; note that we will need you to complete a Contributor License Agreement before accepting a change. Other than that, yes please, get in touch via the Google Group for this project. How is Barcode Scanner different from CompareEverywhere and ShopSavvy?(As of this writing) all three use the core decoding libraries of this project for decoding. In that sense they are the same. CompareEverywhere and ShopSavvy add sophisticated UIs for comparison shopping, and focus on scanning 1D barcodes (UPC-A and EAN-13) as a result. The Barcode Scanner application is a simpler UI, but it does enable support for all supported barcode formats, including QR Code. As a result it can do a few more things like handle contact information, URLs, geolocations embedded in QR Codes. Barcode Scanner also supplies support for Android Intents for requesting decoding services and returning results. Why does Barcode Scanner want to access my contacts?QR Codes and Data Matrix codes can encode contact information. Upon scanning such a code, you will be prompted to add the contact information to your contacts list. In addition, Barcode Scanner can encode a contact as a QR Code and present it on-screen, so that a friend can easily scan your contact information from your screen. This is why the app requests permission to write and read contacts. They are not used in any other way. I don't get prices or results for some product barcodes.This application does not maintain or provide any product information whatsoever. It links to Google Product Search and Web Search. Forward questions to them; we do not control these results at all. Where do I get it for my phone?See GetTheReader RequirementsWhat language level, SDK is required?The "core" and "javame" are written to work within MIDP 2.0 and CLDC 1.1. "javame" requires MIDP 2.0 and CLDC 1.1, as well as the Multimedia API (MMAPI) and Advanced Multimedia Supplements API (AMMS / JSR-234). "core" does not require these libraries by itself (but cannot use classes not found in these libraries) and should function within any Java SE 1.2 or later environment. I see Vector, etc. Why not use more recent features and classes?The "core" component must work within a JavaME environment, and this limits the classes and language features that can be used. PerformanceHow fast is it?This depends entirely on the phone's hardware and JVM. On Android devices, we can scan and reject 9 barcode formats in 250 ms (or less). On J2ME hardware, 1-2 seconds to search an image for several known formats is probably reasonable to expect. How accurate is it?Existing decoders work well so far, but, depend heavily on the quality of the photo capture. Focus issues or motion blur cause trouble. Is there a native version?No, though you could port this code if you like, and a C++ or Objective-C port for the iPhone is in progress. This project will remain pure Java; hooks into native code for computation-intensive parts of the processing are not out of the question. JavaMEHow can I put the JavaME application on my phone?We keep a copy of the latest build at http://zxing.org/w/; point your phone's browser here to find a suitable version for you phone. Not all phones will allow this. How do I use the JavaME application?Point at a barcode and press just about any key. What are these warnings I see?Some devices will inform you that the application wishes to take a picture and ask if that is acceptable. Say OK of course. Refer to your phone's documentation for ways to possibly disable this warning for the reader application, to avoid having to confirm this every time. This doesn't decode barcode X.Try again -- fill your viewfinder with the barcode and take a steady shot. Many phone cameras lack a close-range focus mode ("macro mode"), and auto-focus, which makes it very difficult to get a clear, decodable image at close range. Try stepping back a little and capturing again. This is one of the central areas we are working to improve in this application. |
Sign in to add a comment
is there a native objective C version for iphone yet?
No, but funny you should ask, as I was just talking to Matt about his progress there. He's actually written a tool that ports the J2ME to Objective C. This is more possible than it may sound just because J2ME is a very limited subset of Java, and, it's useful even if it can only port 90% of the code. I think it will be some weeks before that tool is complete, but, yes definitely on the way.
He's written a shell application for it already which is somewhere in Subversion at the moment, for what that is worth.
I would be nice to have a ruby port
Well v r developing web application for generating the qrcode for an application form consisting of multiple fields and tabular format. Where can I use the zxing component ? For generating QRCode by means of encoding or For producing the output from a QRCode as mentioned in a tabular format. Can someone clear this issue
There is no encoder in this library, only a decoder. However you can generate QR Codes easily via our chart server. See this post: http://groups.google.com/group/zxing/msg/139f51b5f8a1bd2c
There is a perspective transformation function in commons, but I couldn't find any other function which made used of it. Is this right or am I not looking in the right place?
It is used in DefaultGridSampler? in the same package
Sean, thanks for the fast reply. I have a few extra questions though: 1) How do you detect a rotated or skewed image? Or you just don't and always apply the perspective transform just in case? 2) In the case of QR codes, what four points do you pass on to the perspective function? I think I read something about passing the 3 finder pattern plus the bottom-right alignment pattern, but if I am not mistaken, if you used the centers of those points youl get a pretty deformed image, since the alignment corner is not perfectly aligned with none of the finder patterns' centers. 3) Does your client detect codes automatically without needing the user to take a snapshot, like other decoders do? I haven't had the chance of using a client based on you library, since I don't have any 3gphone, so I couldn't see in action. Well, once again, thanks a lot for your Quick Response to my question ;D, and congratulations on a very neat piece of code. I also took a look at the the other open source project out there and the coding "style" gave me the creeps.
Let me move this to the discussion group vs. the wiki: http://groups.google.com/group/zxing/browse_thread/thread/7be18c03a5860c24
This sounds great, but I have been looking into creating a 2-D QR Code reader application, but in conducting market research came across two companies that have a patent on any 1D or 2D bar code application for mobile phones and PDAs. They claim an exclusive hold on any technology, even using the open source standard (unexercised patent) QR Code, that decode a barcode, via a cell phone, and that then sends and receives information from an Internet based information server back to the handset. Sounds incredible that they can claim a patent on an obvious natural progress of technology, but they do. I wonder if anyone from Google legal folks have looked into Scanbuy and MeoMedia??'s claims in this area? Any thoughts?
I am not a lawyer and would not pretend to make any legal statements on behalf of the project or Google. It goes without saying that I have no reason to believe anything this project does infringes on patents or anything like that, and we would not have engaged in this project had we thought so. On the subject of NeoMedia? I can point you to the fact that the EFF's request for reexamination of their patent was 100% successful, and all 95 claims were rejected: http://www.eff.org/deeplinks/2008/07/u-s-patent-office-rejects-all-ninety-five-neomedia QR Code is patented by DensoWave? but they have publicly stated they will not exercise the patent. Data Matrix is likewise open.
it could be nice to have a python port of this decoder. In python we lack a serious python decoder. and it could be used with the pyS60 regards Bussiere
or in C for porting it regards
http://www.pedemonte.eu:81/wiki/index.php/Documentation:PyQrCodec
the decoder used by PyQrCodec? isn't good enough. moreover, it depends on opencv which is too big to be used in something simple and embedded.
Will support for usps, fedex, etc barcode decoding be added at some point? I'd love to be able to scan usps delivery confirmations and email the numbers to myself (same for other shipping companies like fedex) so I could more easily keep track packages.
Will support for usps, fedex, etc barcode decoding be added at some point? I'd love to be able to scan usps delivery confirmations and email the numbers to myself (same for other shipping companies like fedex) so I could more easily keep track packages.
Depends on which format you mean. USPS -- if you mean POSTNET yeah there have been some requests for this so Daniel and think it would be relatively easy and useful to implement. Fedex -- as I recall the codes on the packages are Code 39? some of them at least. That is supported. I think perhaps USPS priority shipments also use these codes, so try scanning them right now and it may work. File a feature request if you find a new format that is not supported that would be useful.
You may run into focus issues even on the G1 as those formats are really meant to be read with a laser, not optically (er, with a camera). The lines can be too small.
Formats like PDF 417 or the crazy matrix code that UPS uses... no, no immediate plans to work on this. There's just not enough of a use case to justify the work. But, contributions of code are welcome.
I tried installing both java versions on my blackberry curve 8300. At launch I get "Error starting BarcodeReader?: Module 'BarcodeReader?' has verification error 2891 at offset 9ded"
Same for me. I don't think it will work on the 8300 series, and, I have not been able to understand why.
Would it be too difficult to include 1D barcode support for the iPhone app? From what I've read, the camera's lack of auto-focus and macro mode is the reason for not including this, but I was just reading about a new iPhone case that increases photo clarity at close range.
http://www.griffintechnology.com/products/clarifi
Thanks, Sandro.
Following up on my post about USPS barcodes... this link http://www.idautomation.com/code128faq.html#USPS_EAN128 indicates the delivery confirmation barcodes are UCC/EAN-128. I've tried scanning these codes and FedEx? ones (the latter I think are code 39) several times on my G1 but they don't get recognized so I don't know if the problem is my G1 or not to be able to know whether I should submit a bug report or feature request.
The barcodes on standard USPS first-class letters use POSTNET (http://en.wikipedia.org/wiki/POSTNET), not Code 128. This isn't supported. Priority mail might use Code 128, which is supported. I find it hard to read large, dense Code 128 codes on packages even with the G1 camera. This might be solved by using more of the image capture when capturing 1D codes only rather than a square in the middle.
If the former, a feature request is already filed. If the latter, you can follow up with an enhancement request in the issue tracker (rather than here).
No, I wasn't asking for POSTNET support, I was asking for delivery confirmation barcode support, which is what the link I submitted above talks about. I'm sorry if something I said wasn't clear.
OK, it sounds like the G1 isn't capable of reading them, so I can live with that answer.
When is the newest version going to be in the App Store (iPhone). I noticed in the source there is a newer version that is supposed to work better with UPC codes.
Great product!
Is there a way to limit the scanner to a subset of bar code formats to help prevent it from returning invalid UPC codes based on a partial UPC scan? For instance I'm having instances scanning a product that prematurely registers as an EAN_8 instead of the complete UPC_A.
I appreciate the assistance.
(Let's follow up at http://groups.google.com/group/zxing/ as needed)
Yes though you will need to do very light surgery in the code. Find MultiFormatReader? and just trim out which readers it enables internally. Or, find the client you are using and replace use of MultiFormatReader? with the one format's reader you are interested in. I think it will be clear if you peruse the code but follow up in the groups if there are other questions.
That's just what I needed, and in blistering quick time too. Thank you!
Jim
I am a marketer and I want my product barcodes to work with ZXing. They don't seem to. What do we need to do to support this application.
Can you say more, like what format to start? perhaps post an example of a barcode that doesn't work?
Follow up here if you please: http://groups.google.com/group/zxing
i am looking to scan my products upc 1d i believe into a shopping cart. is there a way to do this??/ i know amazon has it,android but just to buy not to sell.google has it but i would like someone to integrate this into a shopping cart like zencart and do a google checkout and google feed to maximize sales. anyone interested in project please email me at g7329174080@gmail.com or skype=qualityparts any help would be greatly appreciated.
Hello & Happy Holidays!
I'm asking this to anyone who can answer - so please contribute if you have a solution. I would like to use the G1 scanning functionality as the "scanner" piece of a inventory management program. Ideally, I would like to be able to scan items "into" inventory, 'tag' the item with name, manufacturer, details, price and most importantly "units on hand". Once these items are in the "database", they will be referenced when item is scanned again (like some of the current apps) - with the choice to add or subtract to inventory. All of the data would most likely be able to be downloaded into (Google Docs).
Thoughts??
Hello,
I would like to know if it is possible to compile the zxing project in c++. Is the c++ project completed?
Thank you.
Jordi.
(Let's follow up in the discussion group: http://groups.google.com/group/zxing/topics?hl=en)
This project can provide the scanner part of the application, without a doubt. Just look at android/ in the source code; this can be the basis of your new application. The rest of the application is up to you to develop, but it seems pretty straightforward.
Yes please see the partial port in the source tree under iphone/
You mention that the Nokia 5300 is unsupported, however I have one and it is working, although there are some problems with the focus at times.
Any chance of making the application at http://chart.apis.google.com/chart?cht=qr&chs=500x500 encode the referrer url if no chl parameter is given?
Is the encoding application available for download?
Great application
Andy Bailey
Hi, what's the latest status regarding barcode "encoding" for xzing? Does it have the capability to encode a 1D barcode yet?
Thanks in Advance!
QR code encoding works well. There is no support for 1D encoding. Most of 1D encoding is trivial -- it's dead simple to tell you the widths of bars you'd need to draw to encode some digits. Drawing a full barcode gets a little trickier since we'd have to drag in AWT classes and need a particular barcode font installed -- would be something to implement in javase/ and wouldn't work on mobiles. I wonder, is there a real use case for encoding UPC/EAN codes? I had doubted it. Code 39, 128, I could imagine.
If interested in following up could you file an enhancement issue with more details about what you are looking for?
I'd like to second the request for 1D support on the iPhone app. The Griffin Clarifi case does indeed allow functional 1D barcode photos, but the (commercial) snappr.net app is currently the only tool to take advantage of that.
And still, that only helps people with both an iPhone and this product, and does nothing to address the lack of an actual API to capture images on the iPhone. Once Apple addresses that, this becomes more worthwhile. Requesters are welcome to do the port.
I'd just like to say that I downloaded the reader 1.2 and it seems to be working fine in my nokia 3555, even though it is not listed in the official supported devices. Sorry if this is off-topic but I couldn't find a better place to post it.
Is there a possibility of being able to read coded info on the back of your license or military id in the future
Yes, if the barcode uses Code 39 or Code 128 format, it can already be read -- though often the small size and wear and tear make it hard to decode.
Many drivers licenses actually use PDF417 to encode the data.
Speaking of which, are there plans to support PDF417? Or does anyone know of an Objective C library to decode PDF417?
(Better to post questions in the actual discussion group: http://groups.google.com/group/zxing)
I know the guys from sita.aero who wrote the ITF decoder had one sort of working; not sure of its status. You could follow up on the discussion group.
It's going to be hard to decode PDF417 on a camera phone I think, and doesn't have a real consumer application I think, so probably wont' be turned on in the default Android client. But no reason the decoder can't exist in the code.
I don't know of decoder libraries in Objective C, full stop. If you are developing for the iPhone I would look for C++ code.
Hi, i like use this software in mi blackberry, but i dont find how install. thanks for you help.
Great software. Does it support USPS barcodes, like this one: http://www.morovia.com/education/symbology/postnet.asp
Postnet is not supported, though we'd welcome a contributed decoder. It's low priority since there is not much of a use case for it on mobile phones but would not be against including the decoder for others to use in other situations.
Hi, just wondering if your software can be used to convert the mobile into a data collection terminal where the barcodes are scanned and the quantities are also entered. If it could then be exported as a .csv file it would be brilliant and let me do a quick stock take.
"How do I make my own XXXXXXXXX codes to print?"
Hello! Is there a way to get VCARD encoded in QR code and automatically create a contact on my iPhone? The app tries to send an email with the VCARD string as the TO field. Thanks!
Yes, encode contact information at zxing.appspot.com. If I am not mistaken, the iPhone port ("Barcodes") did support reading vCard info and adding a contact from it. If you are saying it doesn't, hm, I'd like to see the vCard encoding to see if it's right, or if we have a bug. Follow up at http://groups.google.com/group/zxing please.
I'm using Zxing for Java ME. And I wonder if, it's possible to save a Vcard as a contact directly from Zxing? I don't want to be redirected to a website. I want to save the Vcard after taking the picture.
Has sameone tried the Barcode Reader on a device without JSR-234/AMS? I wonder if it is really required.
@tqvisten: I am developing an application on the Nokia 6212 classic using zxing. However, at this point I can only read out QR Codes, not DataMatrix? codes... If anyone has any experience with this issue, please respond (amms/jsr-234 is not supported on the 6212 so...)
QRCode do not support Chinese characters, Should be added to set the encoding functions, such as: UTF-8, GBK, ASCII.
Please use the discussion group for comments like this. Yes, QR codes themselves do not support Chinese character encodings, though you might get away with using UTF-8 for it. The decoder does support guessing UTF-8 already. If your comment is about display of glyphs on the device, that has nothing to do with this app.
Please ask questions at the discussion group, not a wiki: http://groups.google.com/group/zxing/ In the sense I think you mean, no there is no quality diagnostic.
Why is the scanning area such a small percentage of the total camera view? It doesn't have enough resolution to focus on larger codes, but it could if you let it read from the entire viewfinder.
Please post to the forums, not the wiki, and I'll answer: http://groups.google.com/group/zxing/
Why won't you answer questions asked on the wiki?
Why not post a question at the discussion group, which is a place for asking general questions, rather than wiki comments, which are for commenting on the wiki content?
I havent been able to used it on my htc magic phone. Got 3.1v and got some friends with same rom and everything. There is no way i can scan QR. It works with normal scans but never with QR. Do you know what might be?
Please ask questions at the discussion group, as the last several comments indicate.
You probably have QR code scanning disabled in Settings. It def. works on the Magic.
HI:
Please use the discussion group for questions, I'll answer there: http://groups.google.com/group/zxing/
Could someone use the core of the application to make a credit card scanner + processor, or would that require something compeletly different
I see that there was a comment from march 08 about porting to iPhone/objective C. I was curious what the status on that was.