2019-10-04前回の記事では、ZXingを使ってQRコードを生成する方法を解説しました。バーコードを生成/読み取りする方法について解説します。こんな人におすすめEDIデータの管理・運営にバーコードの読み書きが必要であるQRコード以外の二次元コードに興味があり、自分で生成したいPDF417とはPDF417はスタック型の二次元コードです。縦横のデザインが容易に変更できること、優れたエラー訂正機能を持っていることなどから、多方面から高く評価・採用されました。0515)において、EDIデータの標準シンボルとして採用されています。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に以下の定義を追加してください。ソースはPDF417Writerを使って、URL「http://develman.net」をQRコードにエンコードして、「pdf417.png」という画像ファイルに出力するサンプルです。以降の生成処理の解説のベースとしています。}}上のコードを実行すると画像ファイルとして得ることができます。以下のソースはPDF417Readerを使って、「pdf417.png」という画像ファイルをデコードしてURL「http://develman.net」を読み取るサンプルです。}}実行結果https://develman.netコンパクトモードを指定するencode時にエンコードヒントを指定することで、コンパクトPDF417を生成できます。印字領域確保が最も重要で、シンボル自体の損傷が極めて考えにくい場合は、右行指示子を省略し、ストップパターンを1モジュール幅のバーに縮小したシンボルを使用することができます。右行指示子の省略とストップパターンを縮小化したPDF417を、コンパクトPDF417といいます。行数・列数を指定するencode時にエンコードヒントを指定します。PDF417のコードサイズは横方向1~30コードワード、縦方向3~90段です。EncodeHintType.PDF417_DIMENSIONSを指定すれば、行数は1〜30行、列数は3〜90列の範囲で指定サイズのシンボルを生成できます。圧縮モードを指定するencode時にエンコードヒントを指定します。EncodeHintType.PDF417_COMPACTIONに指定できるのは4種類です。Compaction.AUTOCompaction.BYTECompaction.NUMERICCompaction.TEXT圧縮モード時の情報密度は、数字のみの場合は約3文字/コードワード、英数字の場合は約2文字/コードワード、漢字を含む2バイト文字は約0.5文字/コードワードです。MEsasakiyuひ弱で優しい少年だったが、デーモンと合体。強大な力を得つつも人間の心を失わないデベルマンとなる。デベルマンZXingを使ってAztecコードの生成/読み取りを行う【鉄壁の解約ボタン】ムームードメインをおすすめできないワケは不透明な利用...このブログの中の人sasakiyu仙台在住、昭和生まれのシステムエンジニア。好きな言語はJava。嫌いな言語はCOBOL。カンファレンスに行った時に質疑ができるよう英語を習いたいと思っています。悪魔的な技術力が得られることを願って日々勉強してます。生成処理HOMEプログラミングJavaZXingを使ってPDF417バーコードの生成/読み取りを行うJavaを中心に、今日から使えるプログラミングの小ネタや、便利なライブラリの使い方を解説しています。