import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import wkc.pdf.Info;
import wkc.pdf.PdfBarcode;
import wkc.pdf.PdfException;
import wkc.pdf.tool.CustomerBarcodeData;
import wkc.pdf.tool.Report;
import wkc.pdf.tool.ReportException;
public class Yubin {
private static File FORM_DIRECTORY_ROOT = new File("../resources/form");
private static File OUTPUT_DIRECTORY_ROOT = new File(".");
private static String leftFieldNamePrefix = "xCode";
public static void main(String[] args) throws IOException, ReportException, PdfException {
File outPdfFile = new File(OUTPUT_DIRECTORY_ROOT, "yubin.pdf");
File formFile = new File(FORM_DIRECTORY_ROOT, "template3.pdf");
File datFile = new File(FORM_DIRECTORY_ROOT, "template3.dat");
FileOutputStream fout = new FileOutputStream(outPdfFile);
try {
Report report = new Report(formFile, datFile, fout);
String code = CustomerBarcodeData.getBarcodeData("100-0013",null);
//*********** 大口事業所、私書箱の個別番号の場合 *************************
report.createPage(1);
report.putFieldData("xLabel","YUBIN\n大口事業所、私書箱\nの個別番号の場合");
PdfBarcode yubin = report.createBarcode(PdfBarcode.YUBIN, code);
for (int i = 0; i < 12; i++) {
report.putFieldData(leftFieldNamePrefix + i, yubin);
}
//*********** 私書箱郵便物の包括番号の場合 *************************
code = CustomerBarcodeData.getBarcodeData("980-8691","215");
report.createPage(1);
report.putFieldData("xLabel","YUBIN\n私書箱の包括番号の場合");
yubin = report.createBarcode(PdfBarcode.YUBIN,code);
for (int i = 0; i < 12; i++) {
report.putFieldData(leftFieldNamePrefix + i, yubin);
}
//*********** 料金受取人払郵便物の受取人として包括番号を持つ場合 ********
code = CustomerBarcodeData.getBarcodeData("333-8790","123");
report.createPage(1);
report.putFieldData("xLabel","YUBIN\n料金受取人払郵便物の受取人\nとして包括番号を持つ場合");
yubin = report.createBarcode(PdfBarcode.YUBIN,code);
for (int i = 0; i < 12; i++) {
report.putFieldData(leftFieldNamePrefix + i, yubin);
}
//*********** それ以外の場合 *************************
code = CustomerBarcodeData.getBarcodeData("100-0013","1丁目3番2号 郵便プラザ503室");
report.createPage(1);
report.putFieldData("xLabel","YUBIN\nそれ以外の場合");
yubin = report.createBarcode(PdfBarcode.YUBIN, code);
for (int i = 0; i < 12; i++) {
report.putFieldData(leftFieldNamePrefix + i, yubin);
}
//***********文書情報の設定*************************
Info info = report.getDocument().getInfo();
info.setAuthor("川鉄情報システム Web/OO部 川鉄太郎");
info.setTitle("JANサンプル");
info.setCreationDate(Calendar.getInstance());
info.setModDate(Calendar.getInstance());
report.close();
} finally {
fout.close();
}
}
}