このプラグインについて
Copper PDF 2.1.3 以降で、バーコード(QRコードを含む)の表示が可能になるプラグインです。
このプラグインには、
Barcode4J 2.0
http://barcode4j.sourceforge.net/
QRコードクラスライブラリ for Java ver. 0.50beta
http://www.swetake.com/qr/java/qr_java.html
を使用しています。
インストール方法
こちらからダウンロードしてください。
ダウンロードパッケージに含まれているcopper-pdf/pluginsの内容を、Copper PDFのpluginsディレクトリの中にコピーしてください。
(DEBまたはRPMパッケージ版のCopper PDFのpluginsディレクトリは/usr/share/copper-pdf/にあります。)
Copper PDFが動作中の場合、1分ほど待つか、再起動するとプラグインが読み込まれます。
基本的な使用方法
バーコードタグの詳細な仕様はBarcode4J ドキュメント抄訳を参照してください。ここでは概要を解説します。
パッケージに含まれているサンプルHTMLコード(example.html)もご利用ください。
プラグインをインストールしたCopper PDFでは、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>
要素の記述方法(The Barcode XML format)は以下のページで解説されています。
(英語) http://barcode4j.sourceforge.net/2.0/barcode-xml.html
(日本語訳)https://copper-pdf.com/?p=905
このプラグインは、Barcode4Jがサポートする、全ての形式のバーコードを表示することが出来ます。
加えて、EAN-13(JAN-13)の変形として、日本国内で流通する図書のISBNを表記するためのバーコードと、QRコードをサポートしています。
CSSによるサイズ、色、フォントの指定
サイズを固定したい場合は、CSSによって指定することができます。
また、背景色と描画色は同様にbackground-color, colorによって指定します。
例えば、以下の例では幅が1cmに固定され、背景色がピンク、描画色が青となります。
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
xmlns:html="http://www.w3.org/1999/xhtml"
html:style="width: 1cm; background-color: Pink; color: Blue"
message="エンコードする文字列">
<bc:qrcode/>
</bc:barcode>
font-name要素による指定は無視されます。代わりに、CSSのfont-family, font-weight, font-styleが適用されます。
OCRBフォントの使用を推奨します。MS Officeに含まれているものや、以下のサイトで配布されているものがあります。
http://ansuz.sooke.bc.ca/software/ocrb.php
QRコードの表示方法
HTML中に次の記述をすることで、QRコードが表示されます。
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
message="エンコードする文字列">
<bc:qrcode/>
</bc:barcode>
qrcode要素には、次の要素を含むことが出来ます。
QRコードについては、以下のサイトもご参照ください。
http://www.denso-wave.com/qrcode/qrgene2.html
・version
QRコードのバージョンです。0から40の整数で指定します。0の場合は自動設定です。
デフォルトは0です。
・ecc
エラー訂正レベルです。L, M, Q, Hのいずれかを指定します。
デフォルトはMです。
・encmode
エンコードモードです。N(数字), A(英数字), B(8ビットバイト)のいずれかを指定します。
デフォルトはBです。
.module-width
セルの大きさです。単位はcm, mm, pt, inのいずれかを使用可能です。
デフォルトは0.25mmです。
.quiet-zone
上下左右のマージンです。単位はcm, mm, pt, in, mw(セルの大きさ)のいずれかを使用可能です。
デフォルトは1mwです。
例えば、以下の場合はバージョン10、エラー訂正レベルH、英数字モード、セルサイズ0.5mm、マージン1mmのQRコードを生成します。
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
message="ENKODOSURUMOJIRETSU">
<bc:qrcode>
<bc:version>10</bc:version>
<bc:encmode>M</bc:quiet-zone>
<bc:ecc>H</bc:shape>
<bc:module-width>0.5mm</bc:module-width>
<bc:quiet-zone enabled="true">2mw</bc:quiet-zone>
</bc:qrcode>
</bc:barcode>
ISBNコードについて
記述方法とデフォルト値は次のとおりです。
(ただし、バージョン2.0以前の各パラメータのデフォルト値はEAN-13(JAN-13)と同じになります。)
<bc:barcode>
<bc:isbn>
<height>{length:14mm}</height>
<module-width>{length:0.33mm}</module-width>
<quiet-zone enabled="{boolean:true}">{length:5mm}</quiet-zone>
<checksum>{checksum-mode:auto=add|check}</checksum>
<human-readable>
<placement>{human-readable-placement:bottom}</placement>
<font-name>{font-name:OCRB}</font-name>
<font-size>{length:3.7mm}</font-size>
</human-readable>
</bc:isbn>
</bc:barcode>
再配布条件
Copper PDF バーコードプラグインは自由に配布することができます。
付属のライブラリについては、
copper-pdf/plugins/avalon-framework.LICENSE.txt
copper-pdf/plugins/barcode4j.LICENSE.txt
copper-pdf/plugins/Qrcode.LICENSE.txt
をお読みください。