0

I can't figure out a barcode that would support ~3500 chars.

The barcode should contain 40 strings with caret return, each 76 chars long. Each string will look like this:

  • 16N00001CGTXH60G2YE1NKL20518048000183150155491553423519964186228580116N00000

Each string has different numbers and letters.

I tried to generate a QRCode but it supported only 1909 chars. A PDF 417 didn't work either. I'm not familiar with any others unfortunately.

Question: What barcode can support ~3500 chars? Or at least my minimum 3118 chars?

The point is to have a single barcode for a pack of 40 bottles (40 strings) to stick to the package.

I tried generating QR with DelphiZXingQRCode, Fito Utility for F-Print, and Online QR code generators. I tried in UTF-8 and also in ASCII and Unicode, none of these support these 40 strings.

Christophe
  • 74,672
  • 10
  • 115
  • 187
SovereignSun
  • 101
  • 4
  • 2
    Multiple QR codes? Also, why so many? Did you try compression? – Euphoric Oct 20 '17 at 07:27
  • 2
    Actually [QR code should support 4296 alphanumeric characters](https://stackoverflow.com/questions/12764334/qr-code-max-char-length). So maybe you need to use correct encoding? – Euphoric Oct 20 '17 at 07:30
  • I try UTF-8, which says can support only 2953 bytes in QR. While my text is 3079 bytes long. – SovereignSun Oct 20 '17 at 07:47
  • 1
    What are you using to make the QR codes? UTF-8 is uncecessary for you. – Euphoric Oct 20 '17 at 07:49
  • I'm tried DelphiZXingQRCode, Fito Tool for F-Print and Online QR Code generators. – SovereignSun Oct 20 '17 at 07:51
  • If you aren't dealing with descriptions or non-ascii characters, you can fit it all in a single QR code. – Neil Oct 20 '17 at 07:52
  • Only the chars in the line + chr(10)+chr(13) – SovereignSun Oct 20 '17 at 07:54
  • 1
    Well. It seems there is [lack of standard compliance with QR code generators](https://stackoverflow.com/questions/18699739/tools-for-qr-code-generation-not-agree-about-standard-limits). And what you are trying is quite extreme. And even if you did manage to make the QR code, it would be huge and would be hard to scan and quite error prone due to lack of error correction. I would highly recommend you re-think your strategy and don't save so much information. – Euphoric Oct 20 '17 at 08:02
  • @SovereignSun: please answer the question why you try using UTF8 when your alphabet is that small. Moreover, you did not answer the other "why" questions. Voting to close as "unclear". – Doc Brown Oct 20 '17 at 08:05
  • @DocBrown Maybe he doesn't have any other option, as QR code generator he is using doesn't implement the whole standard? Do you know about any QR code generator that implements the standard properly? – Euphoric Oct 20 '17 at 08:08
  • @DocBrown As to why i'm using UTF-8 what do you suggest I use? ASCII or Unicode? The other "why" questions? What compression do you mean? I need 40 lines of text, each 76 chars long - that's a requirement. – SovereignSun Oct 20 '17 at 08:16
  • Do you have the option for multiple bar codes? Instead of 40 lines, maybe 4 barcodes with 10 lines each – Zymus Oct 20 '17 at 08:21
  • @Zymus Could be, but the chief says, this ought to be printed on a ribbon and should have only one barcode for 40 strings. P.s. This is 40 bottles in a pack, each bottle has a code of 76 chars. So the point is to stick this QRCode of the 40 bottles inside the pack to the pack itself. – SovereignSun Oct 20 '17 at 08:24
  • I used to work in a warehouse, and we'd get dozens of pallets of monitors, usually 80 on a pallet, and we had to scan each serial number by hand. I can't think of any industry that has barcodes that long, nor would require a proprietary solution. – Zymus Oct 20 '17 at 08:30
  • @Zymus Exactly, we do the same right now, but my chief has got ideas. The thing is we have automatic scanners on the conveyors, but they are for testing barcode. When we make a pack of 40 bottles we need to tell the consignee the coded of the bottles inside the pack. – SovereignSun Oct 20 '17 at 08:34
  • 2
    @SovereignSun if you don't need UTF8 then don't use it. In other words, if all your characters are available in ASCII then use ASCII as it's more compact. Also, it sounds like your CR/LFs are just for presentation. If your strings are of fixed length you could strip them out to save a few characters and re-add them after you've scanned QR code. And finally, have you tried any kind of compression? – MetaFight Oct 20 '17 at 09:01
  • 2
    The additional information now added in the comments was helpful, retracted my close votes. However, you should not bury these informations here in the comment section, better explain your problem and your motivations goals properly in the question. – Doc Brown Oct 20 '17 at 09:09
  • @MetaFight I'm not aware about compression questions. And no stripping CR/LF mustn't occur since they'll be scanned with a simple scanner into notepad. – SovereignSun Oct 20 '17 at 09:09
  • 3
    To fit all that data inside the scanner's field of vision, you need a 2D scanner with very high resolution. Also, such scanners will usually have an internal buffer that is not very long; no manufacturer that I know of has 2D support for more than about 300 characters. You would need a custom application, based on a commercial general purpose sensor, possibly a CCD; or a QRCode versions 36 to 40, level L, which needs expensive scanners and means no more than 7% of the code may be damaged or misread. In short, **you're setting yourself up for a fall**. – LSerni Oct 20 '17 at 10:33
  • 2
    Have you considered RFID sticker tags? –  Oct 20 '17 at 19:42
  • 1
    A solution I've used is zipping the data, then base64 encoding it to use for the QR Code. This does requires reversing the process when scanned, so you would need control over the scanner as well. – GetSwifty Oct 20 '17 at 19:43
  • I agree with @tibo sounds like am obvious application for RFID – Esben Skov Pedersen Oct 20 '17 at 20:39
  • @EsbenSkovPedersen I'll read about it. – SovereignSun Oct 21 '17 at 05:40

1 Answers1

6

You are approaching this incorrectly, and I surmise it is because you are taking the requirements of your stakeholder too literally.

This is what you need to do...

  1. Save all the information you are trying to put in a barcode in a database and associate it with shorter a unique id.

  2. When the barcode is scanned, use the unique id to look up the information in the database

  3. Display the information you looked up to the end user.

No one will know or care that you did not put the information into the barcode.

TheCatWhisperer
  • 5,231
  • 1
  • 22
  • 41
  • Your solution is assuming that there is a reliable link between the entity who generates the code and one who reads the code. From a comment by the OP `When we make a pack of 40 bottles we need to tell the consignee the coded of the bottles inside the pack`. Thus it is possible that there is a disconnect between the two end points. – Peter M Oct 20 '17 at 16:07
  • 1. Not sure what `coded of the bottles` means. 2. If you have the information to place it in a barcode, you can place it in a database instead. – TheCatWhisperer Oct 20 '17 at 16:17
  • Sur you can place anything you want in a database. But that doesn't mean that the people who need to have access to that information can access it. Boss: "Smith whats inside that package?". Smith: "Sorry boss, no idea. The internet is down/the vendors website crashed/our credentials aren't working" – Peter M Oct 20 '17 at 16:56
  • 1
    @PeterM, time to stop writing software... it might break... – TheCatWhisperer Oct 20 '17 at 17:45
  • Peter's right. Sorry for the T9 misspelled words. The codes for each of the 40 bottles are to be kept in one barcode. Unfortunately, the consignee can be any company from across Russia. To keep a database is quite pricey and we will have to do security and make it accessible via internet. Then again, not every computer of every company has internet in places where they scan the barcodes. This is a possible solution but a very hard one to archieve not only for us but also for those who will get the packages. – SovereignSun Oct 20 '17 at 18:10
  • @SovereignSun not as pricey as it will be to be able to deal with barcodes of the length you will need... – TheCatWhisperer Oct 20 '17 at 18:13
  • @TheCatWhisperer So, there is no way I can place that amount of data into a QR code? And there's no better solution? What about some other barcode? I've heard of some new one by Microsoft (a coloured barcode). – SovereignSun Oct 20 '17 at 18:15
  • Have you considered the equipment cost? I am not saying there are not other solutions, and I am not a barcode expert, but the database solution will be much cheaper than any non-standard solution you can come up with. 1. if all the bottles are the same, perhaps you can just use one `type` barcode and a `quantity`. 2. Have you considered just putting one *separate* barcode for each bottle on the package? – TheCatWhisperer Oct 20 '17 at 18:23
  • FWIW, the Microsoft colored barcode thing kind of died. – GetSwifty Oct 20 '17 at 19:41
  • 1
    @SovereignSun You have already said that consignee might not be able to implement a database-based or over-the-network solution to verify barcodes. By the same logic, you can say that they won't be able to afford non-typical barcode scanners, i.e. Microsoft colored barcodes, or even a higher-than-normal density (or simply larger-than-normal) barcode would be impossible for them to process. So, your best solution is to have 40 different barcode labels, I'm afraid. – rwong Oct 20 '17 at 20:52
  • @rwong Doesn't a simple scanner read all those barcodes? I'm not a barcode expert either. – SovereignSun Oct 21 '17 at 05:42
  • 1
    @SovereignSun Scanners are subject to physical limitations as described in LSerni's comment. In other words, typical scanners may be unable to recognize barcodes that are larger or more dense than what they're originally designed for. – rwong Oct 21 '17 at 07:52