CookBook3 バーコード編

3-4カスタマバーコード

カスタマバーコードは、郵便物に使用します。新郵便番号と住所から文字情報を抽出し、その情報をコード化します。

以下に示す2つの手順をそれぞれ別APIを使用して実行し、カスタマバーコードを生成します。
A.新郵便番号と住所から文字情報を抽出する。
B.抽出した文字情報を入力してバーコードを生成する。

A.は【利用API-3】を使用して実行します。
B.は【利用API-1】を使用して実行します。

【利用API-3】

クラス:CustomerBarcodeData
メソッド:getBarcodeData(String postalCode,String address)
返値:String
例外:BarcodeException

【引数】

postalCode:新郵便番号を指定します
address:住所表示番号もしくは町域名以降の組合せを指定します。

下記コラムを参考にしてください。

【用途】

新郵便番号と住所表示番号もしくは町域名以降の組合せを指定して、カスタマバーコードに必要な文字情報の抜き出しを行ないます。

CustomerBarcodeDataクラスを利用する場合、
Java 2 Developer Kit(JDK) version 1.4 以上を使用する必要がございます。

カスタマバーコードは、送付先の種別によって文字情報の抽出方法が異なります。

引数について

1.大口事業所、私書箱の個別番号の場合

個別番号を文字情報とします。
この場合は、postalCode引数に個別番号を入力します。

個別番号100-0013
住所東京都千代田区霞ヶ関1丁目3番 XX流通センター

この場合、postalCode引数に"100-0013"を設定します。
String code = CustomerBarcodeData.getBarcodeData("100-0013",null);

【注意】
"100-0013"から"1000013"を直接求め【利用API-1】のcode引数に設定してバーコードを設定できます。
【利用API-3】を使用しないこの方法でも問題なくバーコードを生成できます。

2.私書箱郵便物の包括番号の場合

個別番号をもたない私書箱利用者宛ての郵便物の場合、包括番号と私書箱番号から文字情報を求めます。 包括番号は原則として下表のルールの番号を使用します。

区別私書箱包括番号
現行3桁局*** - 8691
現行5桁局*** - **91
私書箱包括番号980-8691
私書箱番号215

この場合、postalCode引数に"980-8691"を、addressに"215"を設定します。
String code = CustomerBarcodeData.getBarcodeData("980-8691","215");

3.料金受取人払郵便物の受取人として包括番号を持つ場合

包括番号から以下のルールで記載する郵便番号を求めます。

区別記載する新郵便番号
現行3桁局*** - 8790
現行5桁局*** - **90
包括番号333
整理番号123

この場合、記載する新郵便番号は"333-8790"となり、postalCode引数に設定し、整理番号"123"をaddressに設定します。
String code = CustomerBarcodeData.getBarcodeData("333-8790","123);

4.それ以外の場合

新郵便番号と町域名以降の住所から文字情報を抽出します。

新郵便番号100-0013
住所東京都千代田区霞が関1丁目3番2号 郵便プラザ503室

この例の場合、postalCode引数に"100-0013"を、addressに"1丁目3番2号 郵便プラザ503室"を設定します。
String code = CustomerBarcodeData.getBarcodeData("100-0013","1丁目3番2号 郵便プラザ503室");
以上のいずれかの方法で抽出した文字情報を元に、【利用API-1】を使用してカスタマバーコードを作成します。

カスタマバーコードを使用する場合

【記述例】

Report report = new Report(formFile, datFile, fout);
report.createPage(1);
// 郵便番号、住所から文字情報を抽出します。
String code =
CustomerBarcodeData.getBarcodeData("100-0013","1丁目3番2号 郵便プラザ503室");
// カスタマバーコードを作成します。
PdfBarcode yubin = report.createBarcode(PdfBarcode.YUBIN, code);

// 作成したバーコードを フィールド"xCodeLeft"に差込みます。
report.putFieldData("xCodeLeft", yubin);

APIを使用してPDF出力した例を以下に示します。
カスタマバーコードでは、8~11.5ポイントまでに寸法が制限されています。
したがって、差込対象のフィールド領域はこれを考慮して設計する必要があります。

◎出力されたPDF帳票:cookbook3/chapter3/yubin.pdf

この例は、以下のJavaソースを使用して出力しています。
◎javaファイル:cookbook3/chapter3/Yubin.java

PAGE TOP