入力フォームのあるPDFを作る

package chapter03AcroForm;

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.TextField;
//import com.itextpdf.text.BaseColor;//RGBで色を指定する場合
import com.itextpdf.text.pdf.CMYKColor;//CMYKで色を指定する場合


public class AcroForm {
public static void main(String[] args){
Document document=new Document(PageSize.A4);
try{
PdfWriter writer =PdfWriter.getInstance(document,new FileOutputStream("C:\\java\\form-sample.pdf"));
document.open();
//ベースフォントを作る
BaseFont bf=BaseFont.createFont("HeiseiKakuGo-W5","UniJIS-UCS2-HW-H",false);
//コンテントバイトを取得する
PdfContentByte cb =writer.getDirectContent();
//テキスト開始
cb.beginText();
//フォント設定
cb.setFontAndSize(bf, 12);
//テキスト開始位置へ移動
cb.moveText(36f, 788f);
//テキスト表示
cb.showText("フォームのサンプル!お名前をどうぞ");
//テキスト終了
cb.endText();
//AcroFormのテキストフィールド作成
TextField tf=new TextField(writer,new Rectangle(67,735,250,760),"user");
//フォントサイズ設定
tf.setFontSize(12);
//フォント設定
tf.setFont(bf);
//テキストフィールドにガイドメッセージを入力
tf.setText("お名前?");
//テキストをブルーにする
CMYKColor color=new CMYKColor(100,0,0,0);
tf.setTextColor(color);
//AcroFormをドキュメントに追加
writer.addAnnotation(tf.getTextField());
}catch (DocumentException de){
System.err.println(de.getMessage());
}catch (IOException ioe){
System.err.println(ioe.getMessage());
}
document.close();//これを書かないとPDFを開けない
}
}