2019-10-03前回の記事では、ZXingを使ってQRコードを生成する方法を解説しました。コードを生成/読み取りする方法について解説します。中央のファインダーコードがアステカ文明のピラミッドを上から見た形と似ていることを名前の由来するマトリクス型コードであり、非常に高い情報化密度を持っていることが特長です。航空券などの旅行書類や自動車の登録書類に使われています。Goでは、入店時にかざす二次元バーコードに採用されています。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に以下の定義を追加してください。ソースはAztecWriterを使って、URL「http://develman.net」をQRコードにエンコードして、「aztec.png」という画像ファイルに出力するサンプルです。以降の生成処理の解説のベースとしています。}}上のコードを実行すると画像ファイルとして得ることができます。以下のソースはAztecReaderを使って、「aztec.png」という画像ファイルをデコードしてURL「http://develman.net」を読み取るサンプルです。}}実行結果https://develman.netエラー訂正率を指定するencode時にエンコードヒントを指定します。Aztecコードはエラー訂正率1%(最低)から99%(最高)がサポートされています。エラー訂正率はデータレイヤ内に含まれるチェックキャラクタの比率です。デフォルトは23%+3キャラクタですが、正方形にならない場合は自動で補充されます。File("aztec.png"));EncodeHintType.ERROR_CORRECTIONに数値を指定することで指定のエラー訂正率で生成されます。エラー訂正率1%の例エラー訂正率99%の例データレイヤーを指定するencode時にエンコードヒントを指定します。コードには1〜32のデータレイヤーがあります。通常は自動(最小)で問題ありません。格納するデータ長によらずシンボルのサイズを固定する場合は使用してください。File("aztec2.png"));EncodeHintType.AZTEC_LAYERSに数値を指定することでデータレイヤー数を手動で設定できます。コンパクト版は負数(-1〜-4)で、完全版は正数(1〜32)で指定します。デフォルトは0で、レイヤー数は最小となります。-2を指定した例32を指定した例データレイヤー数を指定する場合、指定するレイヤー数ではデータを格納しきれない場合にエラーとなります。MEsasakiyuひ弱で優しい少年だったが、デーモンと合体。強大な力を得つつも人間の心を失わないデベルマンとなる。デベルマンZXingを使ってDataMatrixコードの生成/読み取りを行うZXingを使ってPDF417バーコードの生成/読み取りを行うこのブログの中の人sasakiyu仙台在住、昭和生まれのシステムエンジニア。好きな言語はJava。嫌いな言語はCOBOL。カンファレンスに行った時に質疑ができるよう英語を習いたいと思っています。悪魔的な技術力が得られることを願って日々勉強してます。生成処理HOMEプログラミングJavaZXingを使ってAztecコードの生成/読み取りを行うJavaを中心に、今日から使えるプログラミングの小ネタや、便利なライブラリの使い方を解説しています。