チェックサム付きバーコード
Code 39、Interleaved 2 of 5、Codabar、および Matrix 2 of 5 タイプのバーコードには、チェックサムが含まれる場合があります。チェックサムはエラー検出に使用されます。チェックサムの計算アルゴリズムは規格で定められています。チェックサム付きバーコードを正しく認識するには、BarcodeParams オブジェクトの HasChecksum プロパティを TRUE に設定する必要があります。PDF417、Aztec、Data Matrix、QR Code、MaxiCode バーコード
既定では、ABBYY FineReader Engine は、仕様に準拠したコードページを使用して、PDF417、Aztec、DataMatrix、QR Code、MaxiCode バーコードを認識します。使用されるコードページは次のとおりです。- PDF417 の場合 — DOS United States (437) (CP_US_MSDOS)
- Aztec、DataMatrix、QR Code、MaxiCode の場合 — ISO Latin 1 (8859-1) (CP_Latin_ISO)
Structured Append モードの QR コード
QR Codes は、structured append 形式で最大 16 個のコードを順番に連結することで、大量のデータをエンコードできます。BarcodeBlock オブジェクトでは、QrCodeSequenceId、QrCodeSequenceCount、QrCodeSequenceIndex プロパティを通じて structured append シーケンスに関する特別な情報にアクセスでき、プログラムでこれらを使って認識されたコードを結合できます。バーコードにエンコードされたバイナリデータ
PDF417、Aztec、DataMatrix、QR Code バーコードは、テキストデータとバイナリデータの両方をエンコードできます。ABBYY FineReader Engine では、バイナリデータを含む認識済みのすべてのバーコードデータをテキストとして表します。バイナリデータがテキスト形式でどのように表現されるかは、BarcodeParams オブジェクトの ContainsBinaryData プロパティの値によって異なります。ContainsBinaryData の値 | バイナリデータの表現方法 |
|---|---|
FALSE (既定値) |
バイナリゼロは Unicode 文字列に正しく変換できません。文字列内の対応する文字は「未認識文字」記号 (”^”) になり、IBarcodeSymbol::IsBinaryZero プロパティが TRUE に設定されます。 |
TRUE |
|
認識手順
仕様に準拠していないバーコードや、チェックサム付きのバーコードを認識するには、次の操作を行います (BarcodeRecognition_Accuracy または BarcodeRecognition_Speed の定義済みプロファイルがすでに読み込まれているものとします) 。- Engine オブジェクトの CreateDocumentProcessingParams メソッドを使用して、DocumentProcessingParams オブジェクトを作成します。
- BarcodeParams サブオブジェクトで、必要なプロパティの既定値を変更します (DocumentProcessingParams には PageProcessingParams プロパティが含まれ、PageProcessingParams には PageAnalysisParams が含まれ、さらにその中に BarcodeParams が含まれます) 。
- FRDocument オブジェクトの Process メソッドに、入力パラメーターとして DocumentProcessingParams オブジェクトを渡します。
- 処理に別のメソッドを使用している場合は、入力パラメーターとして PageAnalysisParams オブジェクトまたは PageProcessingParams オブジェクトが必要になることがあります。その場合も同じ手順で、これらのオブジェクトのいずれかに含まれる BarcodeParams サブオブジェクトの値を変更してください。
コードサンプル
C++ コード
C++ コード
C++ (COM) コード
C++ (COM) コード
C# コード
C# コード
バーコードを扱う際のヒント
バーコード認識の品質は、バーコードの印字品質と、文書のスキャン処理で使用する設定に左右されます。バーコードを適切に認識させるには、次の推奨事項に従ってください。- バーコードは、ほかの文字と十分な幅の白い余白で区切られている必要があります。
- バーコードのサイズと、それを構成する個々のバーまたはドットの幅は、次の要件を満たしている必要があります。
- バーコードの高さは、10 ミリメートルを超えるのが理想的です。バーコードのサイズは A4 サイズ未満である必要があります。
- バーコードの高さは、テキスト 1 行の高さの 2 倍より大きい必要があります。
- 正方形でないバーコードでは、長さは高さより大きい必要があります。
- 1D バーコードでは、バーコード内で最も細いバーの幅は、画像上で少なくとも 3~5 ピクセル必要です。
- 2D バーコードでは、セルの寸法は少なくとも 2x2 ピクセル必要です。推奨サイズは 4x4 ピクセル以上です。また、PDF417 を除くすべての 2D バーコードでは、セルは正方形である必要があります。2D バーコードが引き伸ばされていると、ほとんどの場合、正しく認識されないためです。
- JPEG 圧縮を使用してバーコード画像を圧縮することは推奨しません。バーコードの境界がぼやけるためです。
- バーコードが傾かないようにしてください。つまり、バーコードの角度は水平軸に対して 90 度の倍数である必要があります。
- OCR (Optical Character Recognition) の用途には、グレースケールのスキャン モードが最適です。白黒でスキャンする場合は、明るさの設定を調整してください。バーコードが「かすれている」ように見える、または非常に薄い場合は、画像を暗くするために明るさを下げてください。バーコードが歪んでいる、または一部がくっついている場合は、画像を明るくするために明るさを上げてください。
- バーコードを枠で囲んで印刷することは避けてください。
- バーコードを文字や画像の上に重ねて印刷することは避けてください。
