import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import wkc.pdf.PdfException;
import wkc.pdf.tool.Report;
import wkc.pdf.tool.ReportException;

public class Tips3 {
  //WPRLのホームディレクトリを設定
  static {
    System.getProperties().setProperty("wkc.pdf.lib.home","C:\\Program Files\\wkc-pdflib");//適宜修正してください
  }
  
  private static File FORM_DIRECTORY_ROOT = new File("./form");
  private static File OUTPUT_DIRECTORY_ROOT = new File(".");

  public static void main(String[] args) throws IOException, ReportException, PdfException  {

    File outPdfFile = new File(OUTPUT_DIRECTORY_ROOT, "Tips3.pdf");
    File formFile = new File(FORM_DIRECTORY_ROOT, "Tips3.pdf");
    File datFile = new File(FORM_DIRECTORY_ROOT, "Tips3.dat");
    FileOutputStream fout = new FileOutputStream(outPdfFile);
    Report report = null;
    
    try {
      //reportファイルをつくる。
      report = new Report(formFile, datFile, fout);
      report.createPage(1);
      report.setDefaultFontSize(11.0f);
      report.putFieldData("xFormType", "お客様控え");
      report.putFieldData("xGram.0", "0");
      report.putFieldData("xGram.1", "0");
      report.putFieldData("xGram.2", "1");
      report.putFieldData("xGram.3", "0");
      report.putFieldData("xGram.4", "1");
      report.putFieldData("xGram.5", "0");
      report.putFieldData("xGram.6", "0");
      report.putFieldData("xGram.7", "0");
      report.putFieldData("xGram.8", "0");
      report.putFieldData("xGram.9", "0");
      report.putFieldData("xAmountC.0", "0");
      report.putFieldData("xAmountC.1", "0");
      report.putFieldData("xAmountC.2", "490");
      report.putFieldData("xAmountC.3", "0");
      report.putFieldData("xAmountC.4", "1,350");
      report.putFieldData("xAmountC.5", "0");
      report.putFieldData("xAmountC.6", "0");
      report.putFieldData("xAmountC.7", "0");
      report.putFieldData("xAmountC.8", "0");
      report.putFieldData("xAmountC.9", "0");
      report.putFieldData("xNumber.0", "0");
      report.putFieldData("xNumber.1", "0");
      report.putFieldData("xNumber.2", "0");
      report.putFieldData("xNumber.3", "0");
      report.putFieldData("xNumber.4", "0");
      report.putFieldData("xNumber.5", "1");
      report.putFieldData("xNumber.6", "0");
      report.putFieldData("xNumber.7", "0");
      report.putFieldData("xNumber.8", "0");
      report.putFieldData("xAmountA.0", "0");
      report.putFieldData("xAmountA.1", "0");
      report.putFieldData("xAmountA.2", "0");
      report.putFieldData("xAmountA.3", "0");
      report.putFieldData("xAmountA.4", "0");
      report.putFieldData("xAmountA.5", "1,700");
      report.putFieldData("xAmountA.6", "0");
      report.putFieldData("xAmountA.7", "0");
      report.putFieldData("xAmountA.8", "0");
      report.putFieldData("xAllAmount","3,540");
      report.putFieldData("xPayment.2",(String)null);
      report.putFieldData("xCard.0",(String)null);
      report.putFieldData("xCardNo.0", "1234");
      report.putFieldData("xCardNo.1", "5678");
      report.putFieldData("xCardNo.2", "9123");
      report.putFieldData("xCardNo.3", "4567");
      report.putFieldData("xCardTermY", "2008");
      report.putFieldData("xCardTermM", "08");
      report.putFieldData("xCardName", "山田 太郎");
      report.putFieldData("xSendDay.1",(String)null);
      report.putFieldData("xSendTime.2",(String)null);
      report.putFieldData("xYear", "2003");
      report.putFieldData("xMonth", "12");
      report.putFieldData("xDay", "29");
      report.putFieldData("xCustomerName", "山田 太郎");
      report.putFieldData("xCustomerNo", "1234567");
      report.putFieldData("xPostCode", "133-0061");
      report.putFieldData("xAddress", "東京都江東区南砂町5-7-21");
      report.putFieldData("xPhoneNo", "03-1234-5678");
      report.putFieldData("xFree","上記電話番号でつながらない場合は下記番号におねがいします。\n 勤務先 \n  03-5555-5555");
      report.putFieldData("xFax", "FAX番号:03-4444-5555");

      report.close();
      report = null;
      System.out.println("正常終了");
    } finally {
      fout.close();
      if (report != null) {
        try {
          //必ずclose()を呼びます。
          report.close();
        } catch (ReportException e) {
          //例外処理
        }
      }
    }
  }
}