Hi all,
as promised, I now want to contribute an update for PDF417 but only in C++ (compiled for Windows CE). I hope that:
- it runs on non-windows environments without too many changes,
- anyone can translate it into Java.
With this PDF417 decoder, I am able to read also PDF417 codes with very narrow bars or spaces. The new Detector handles PDF417 more as a "stacked" 1D code rather than as a 2D code.
I have only added the sources affected by PDF417 more or less; I also compared them with the recent sources from the trunk.
- BarcodeFormat, DecodeHints, MultiFormatReader: PDF417 added (I have realized that Aztec is yet part of the trunk).
- LuminanceSource: has got a new method: getStraightLine; however, this is only elaborated in GreyscaleLuminanceSource.
- common\BitMatrix: new: getTopLeftOnBit, getBottomRightOnBit.
- common\Delta2Binarizer: a complete new Binarizer that is used by the PDF417 Detector (it is not recommended to use it as stand-alone binarizer; please use the HybridBinarizer instead.)
- common\EdgeDetector: in the header I have defined "Maximum" and Minimum replacing max and min.
- common\NaNny: for INFINITE, NAN.
- common\NoErrorException: thrown when error correction method doesn't find errors.
- common\Str (String): new: append.
- pdf417\*: see there. I have added the error correction like in the Java code.
- bigint\*: BigInteger used by the DecodedBitStreamParser.
Best regards
Hartmut Neubauer