Copper PDFはバージョン2.1.3以降でプラグインとしてバーコードの機能を提供してきましたが、バージョン3.1.0からはビルトインの機能となりました。
バーコードの表示は、Barcode4J(http://barcode4j.sourceforge.net/)、 QRコードの表示はQRコードクラスライブラリ for Java(http://www.swetake.com/qr/java/qr_java.html) により、それぞれ実現されています。
バーコードタグの詳細な仕様は、オンラインドキュメントのBarcode4J ドキュメント抄訳(http://copper-pdf.com/?p=905) または英語の原文(http://barcode4j.sourceforge.net/2.0/barcode-xml.html) を参照してください。ここでは概要を解説します。
HTML/XHTML中に記述された、http://barcode4j.krysalis.org/ns名前空間に属する要素がバーコードに置き換えられます。 例えば、以下の記述はEAN-13(JAN-13)形式のバーコード画像に置き換えられます。
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns" message="200123456789"> <bc:ean-13> <bc:height>15mm</bc:height> <bc:module-width>0.33mm</bc:module-width> <bc:quiet-zone enabled="true">10mw</bc:quiet-zone> <bc:checksum>add</bc:checksum> <bc:human-readable> <bc:placement>bottom</bc:placement> <bc:font-size>8pt</bc:font-size> </bc:human-readable> </bc:ean-13> </bc:barcode>
Barcode4Jがサポートする、全ての形式のバーコードを同様の方法で表示させることができます。 加えて、EAN-13(JAN-13)の変形として、日本国内で流通する図書のISBNを表記するためのバーコードをサポートしています。
ISBNバーコードは、EAN-13(JAN-13)の変形であり、記述方法も同じです。ただし、デフォルト値は異なり、以下のとおりです。
<bc:barcode> <bc:isbn> <bc:height>{length:14mm}</bc:height> <bc:module-width>{length:0.33mm}</bc:module-width> <bc:quiet-zone enabled="{boolean:true}">{length:5mm}</bc:quiet-zone> <bc:checksum>{checksum-mode:auto=add|check}</bc:checksum> <bc:human-readable> <bc:placement>{human-readable-placement:bottom}</bc:placement> <bc:font-name>{font-name:OCRB}</bc:font-name> <bc:font-size>{length:3.7mm}</bc:font-size> </bc:human-readable> </bc:isbn> </bc:barcode>
QRコードについては、株式会社デンソーウェーブのサイト(http://www.qrcode.com/)も参考にしてください。 QRコードもバーコードと同様のXMLで、以下のように文書中に記述します。
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns" message="エンコードする文字列"> <bc:qrcode> <bc:version>0</bc:version> <bc:ecc>M</bc:ecc> <bc:encmode>B</bc:encmode> <bc:module-width>0.25mm</bc:module-width> <bc:quiet-zone>2mw</bc:quiet-zone> </bc:qrcode> </bc:barcode>
qrcode要素内の要素の意味は、次に説明するとおりです。
QRコードのバージョンです。0から40の整数で指定します。0の場合は自動設定です。 デフォルトは0です。
エラー訂正レベルです。L, M, Q, Hのいずれかを指定します。 デフォルトはMです。
エンコードモードです。N(数字), M(英数字), B(8ビットバイト)のいずれかを指定します。 デフォルトはBです。
セルの大きさです。単位はcm, mm, pt, inのいずれかを使用可能です。 デフォルトは0.25mmです。
上下左右のマージンです。単位はcm, mm, pt, in, mw(セルの大きさ)のいずれかを使用可能です。 デフォルトは1mwです。
郵便カスタマーバーコードについては、郵便局のバーコードマニュアル(http://www.post.japanpost.jp/zipcode/zipmanual/index.html)も参考にしてください。 カスタマーバーコードも他のバーコードと同様のXMLで、以下のように文書中に記述します。
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns" message="1008798 1-3-2"> <bc:japanpost> <bc:module-width>0.6mm</bc:module-width> </bc:japanpost> </bc:barcode>
message内に含まれる数字、アルファベット、ハイフン以外の文字は無視されます。
japanpost要素内の要素の意味は、次に説明するとおりです。
バーの太さです。単位はcm, mm, pt, inのいずれかを使用可能です。 デフォルトは0.6mmで、0.48mmから0.69mmの間で設定することが推奨されます。