最近の更新

2017年2月1日水曜日

iText2.1.7でPDFフォームにフォントを指定して文字列をセットする方法

【目的】
iText2.1.7のライブラリを使用し、PDFのフォームにフォントと文字列をセットします。



【手順】
1.「Javaプロジェクトの作成方法」の手順で、「iTextSample014-PdfFormSetFont」といプロジェクトを作成。
2.「itext-2.1.7.jarをライブラリに設定する方法」の手順で、プロジェクトに「itext-2.1.7.jar」のライブラリを追加。
3.「Javaクラスファイルの作成方法」の手順で、「Main」というクラスを作成。
4.「Main.java」を以下の様に入力。
import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.AcroFields;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;

public class Main {
    public static void main(String[] args) {
        try {
            PdfReader reader = new PdfReader("PdfForm.pdf");
            PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("output.pdf"));
            AcroFields form = stamper.getAcroFields();
            BaseFont bf = BaseFont.createFont("ipam.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
            form.addSubstitutionFont(bf);
            form.setField("text1", "亜伊鵜絵御\n化木区毛子");
            form.setField("text2", "アイウエオ\n12345");
            stamper.setFormFlattening(true);
            stamper.close();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (DocumentException e) {
            e.printStackTrace();
        }
    }
}
5.「Ctrl+Shift+O」を押し、パッケージのインポート文を補完。
6.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング。
7.以下のようなPDFフォームを作成し、プロジェクト直下に『PdfForm.pdf』という名前で配置。




8.「IPAフォントの解凍方法」で取得した4ファイルの○○.ttfをコピーし、「iTextSample014-PdfFormSetFont」上で「Ctrl+V」で貼り付け。
9.「Javaプロジェクトの実行方法」の手順で、「Main.java」を実行。
10.以下の様にフォームにフォントと値がセットされたPDFが出力されれば成功です。



























以上です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事