2019-10-02前回の記事では、ZXingを使ってQRコードを生成する方法を解説しました。コードを生成/読み取りする方法について解説します。Images白黒のセルを正方形または長方形に配置したマトリクス型2次元コードで、情報密度が非常に高く、誤り訂正率も高いことから、アメリカでは部品のマーキングに使用されています。日本国内ではあまり目にしませんが、海外の工業製品では珍しくありません。DataMatrixには、ECC000、ECC050、ECC080、ECC100、ECC140という古いバージョンとECC200の新しいバージョンがあり、現在はECC200が標準的に使用されています。ちなみにhynixのSDRAMにプリントされていたDataMatrixには「80AD01183513001000」と記録されていました。シリアルナンバーと思われます。jarが配布されていません。ダウンロードしてクラスパスに追加してください。https://repo1.maven.org/maven2/com/google/zxing/core/3.4.0/core-3.4.0.jarhttps://repo1.maven.org/maven2/com/google/zxing/javase/3.4.0/javase-3.4.0.jarMavenを使用する場合は、pom.xmlに以下の定義を追加してください。ソースはDataMatrixWriterを使って、URL「http://develman.net」をQRコードにエンコードして、「datamatrix.png」という画像ファイルに出力するサンプルです。以降の生成処理の解説のベースとしています。}}上のコードを実行すると画像ファイルとして得ることができます。以下のソースはDataMatrixReaderを使って、「datamatrix.png」という画像ファイルをデコードしてURL「http://develman.net」を読み取るサンプルです。}}実行結果https://develman.net正方形で生成するencode時にエンコードヒントを指定します。File("datamatrix1.png"));EncodeHintType.DATA_MATRIX_SHAPEをSymbolShapeHint.FORCE_SQUAREに指定すると正方形で生成されます。長方形で生成するencode時にエンコードヒントを指定します。File("datamatrix2.png"));EncodeHintType.DATA_MATRIX_SHAPEをSymbolShapeHint.FORCE_RECTANGLEに指定すると長方形で生成されます。補足QRコードではエラー訂正レベルを4段階で指定することができましたが、DataMatrixコードでは指定できません。DataMatrixコードは、シンボルサイズ、データ量によって誤り訂正率が自動的に決定されます。MEsasakiyuひ弱で優しい少年だったが、デーモンと合体。強大な力を得つつも人間の心を失わないデベルマンとなる。デベルマンZXingを使ってQRコードの生成/読み取りを行うZXingを使ってAztecコードの生成/読み取りを行うこのブログの中の人sasakiyu仙台在住、昭和生まれのシステムエンジニア。好きな言語はJava。嫌いな言語はCOBOL。カンファレンスに行った時に質疑ができるよう英語を習いたいと思っています。悪魔的な技術力が得られることを願って日々勉強してます。補足HOMEプログラミングJavaZXingを使ってDataMatrixコードの生成/読み取りを行うJavaを中心に、今日から使えるプログラミングの小ネタや、便利なライブラリの使い方を解説しています。