はじめに
このページでは、Barcode4Jで使われている、バーコード定義用のXMLフォーマットについて説明します。また、各種バーコードによってサポートされるデータ形式についても説明します。
構文
訳注:原文では名前空間なしのXML構文で書かれていますが、この翻訳では全て名前空間ありの記述としました。Copper PDFや、XSLT等の一般的なXMLアプリケーションでBarcode4Jを使う場合は名前空間が必要です。この翻訳では、名前空間の接頭辞は”bc”としていますが、これは任意に変えられます。
バーコードXMLフォーマットの構文は次の通りです:
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
message="200123456789">
<bc:{type}>
{バーコード個別の設定}
</bc:{type}>
</bc:barcode>
{type}は、「ean-13」や「code39」のようなバーコードタイプ名で置き換えてください。また、「org.krysalis.barcode4j.impl.Code39」のような実装クラスの省略無しのクラス名を使うこともできます。内部的にはBarcodeClassResolverインターフェイスを使って名前を解決しています。
{バーコード個別の設定}は、そのバーコードの種類により、異なります。詳しくは、後述しますが、例としては次のようなものです:
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns">
<bc:intl2of5>
<bc:height>10mm</bc:height>
<bc:wide-factor>2.5</bc:wide-factor>
</bc:intl2of5>
</bc:barcode>
データ型
バーコードの設定は、次のデータ型から構成されます。
バーコードXMLフォーマット:省略形
次のcode39の例のように、バーコードXMLフォーマットは簡略化できます(結果、全てのデフォルトの値が使われます)。
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
message="200123456789">
<bc:code39/>
</bc:barcode>
この場合、デフォルトの値を考慮すると、次のように記述したのと同じことになります。
<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
message="200123456789">
<bc:code39>
<bc:height>15mm</bc:height>
<bc:module-width>0.19mm</bc:module-width>
<bc:wide-factor>2.5</bc:wide-factor>
<bc:interchar-gap-width>1mw</bc:interchar-gap-width>
<bc:quiet-zone enabled="true">10mw</bc:quiet-zone>
<bc:checksum>auto</bc:checksum>
<bc:human-readable>
<bc:placement>bottom</bc:placement>
<bc:font-name>Helvetica</bc:font-name>
<bc:font-size>8pt</bc:font-size>
<bc:pattern>{string}</bc:pattern> <!-- 詳細は後述 -->
<bc:display-start-stop>false</bc:display-start-stop>
<bc:display-checksum>false</bc:display-checksum>
</bc:human-readable>
</bc:code39>
</bc:barcode>
可読部分のパターン
一般的な1次元バーコードは内部的な構造を持ちません。そのため、多数の桁からなる巨大な数字の場合、カスタマイズされた可読部分を表示します。
複雑で長いメッセージを簡単に読み取れるようにするためには、パターンが必要です。可読部分にカスタムパターンを加える機能が利用可能なのはInterleaves 2 of 5, Code 39, Code 128 and Codabarだけです。その他の種類のバーコードは可読部分をもたないか、あるいはメッセージの特殊な書式設定が必要になります。(例:UPC・EAN)
パターンの中でアンダーライン”_”は次のデータのための置き換え文字として使われます。パターン内の他の文字はデータの間に挿入される。バックスラッシュ””はエスケープ記号です。”?”はアンダーラインとバックスラッシュを含む任意の文字に置き換えられます。実際に”?”を表示したい場合は”?”と記述してください。
例:
バーコードメッセージ |
1234567890 |
01012001103854 |
1234567890 |
可読パターン |
____ ____ __ |
__/__/____ __:__:__ UTC |
___________ |
可読メッセージ |
1234 5678 90 |
01/01/2001 10:38:54 UTC |
1234567_890 |
サポートされている全てのバーコードの設定詳細
訳注:JANコードはEAN-13, EAN-8, EAN-128と互換であるため、これをそのまま使用してください。Copper PDFは、ISBN, QRコードもサポートしています。ISBN, QRコードについてはこちらを参照してください。
- 一般的な1次元バーコード
- UPC/EAN
- 郵便用バーコード
- 2次元バーコード