micjahn / ZXing.Net

.Net port of the original java-based barcode reader and generator library zxing
Apache License 2.0
2.65k stars 662 forks source link

EPC QR Code (European Payments Council) Not Decoded #558

Open SanKumSan opened 3 months ago

SanKumSan commented 3 months ago

We have an EPC QR code and ZXing is not able decode this type of QR code. Does ZXing support or decode EPC QR codes ?

If No, what would be an alternative to Decode (NOT TO GENERATE the QRCode) to use in C# application ?

Thanks

axxel commented 2 months ago

I would assume ZXing.NET can decode EPC QRCodes just fine. Those are standard QRCodes with a simple multi-line text content. Can you give a sample that fails and explain how it fails?

That said, an alternative would be ZXingCpp which can detect those for sure.

SanKumSan commented 2 months ago

Hello axxel,

Thanks for your inputs

I have ZXing.NET version 0.16.6, installed in .Net Framework. 4.6.1 I cannot share the file as it is from the customer, and I have tested it but does not work. with this 0.16.6 version.

Also, what is this alternative you are suggesting. ZXingCpp Is there a difference bw the ZXing.NET and ZXingCpp ? (as i can see, one big diff is System.Drawing)

These both can be used in C#, Net applcations ?

Do you recommend to use ZXingCpp in production Net core C# applications (.Net 8 for example) ? Have you worked with this before ?

axxel commented 2 months ago

Is there a difference bw the ZXing.NET and ZXingCpp ?

ZXingCpp is a thin .NET wrapper around the c++ library zxing-cpp. Some parts of it, including the QRCode detector are completely rewritten from scratch since the project was ported from the Java library many years ago.

These both can be used in C#, Net applcations ?

Yes.

Do you recommend to use ZXingCpp in production Net core C# applications (.Net 8 for example) ? Have you worked with this before ?

I am the maintainer of the ZXingCpp wrapper and the zxing-cpp project and therefore biased but I surely believe the code can be used in production. There are quite a few companies using the c++ library or one of the wrappers (like Android and iOS) in production. The "alpha" tag on the .NET wrapper is mostly because I wanted to express the fact that the .NET API might still change if I find an even more idiomatic solution.

If you give it a go and find any issues with it, please report them at the zxing-cpp github project.