SSブログ

JavaでPDFファイルを出力 [プログラミング]

プログラム上からPDF形式のファイルを作成しようと思います。
もちろんコレのためです。

PDFのフォーマットは確か公開されていたと思うので、それに従ってデータをファイル出力すれば良いのだけど、面倒なのでPDF出力のライブラリを利用することにしました。

今回、使用するのは「iText」というJava用のライブラリ。
http://www.lowagie.com/iText/

上記サイトから「itext-xxx.jar」を入手(xxxはバージョン)。
更に日本語を表示するためには、http://sourceforge.net/projects/itext/ から「iTextAsian.jar」も入手。
あとは、適当なディレクトリにコピーしてCLASSPATHを通せば準備完了。

チュートリアルを参考に、サンプルを書いてみます。

import java.io.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;

public class Sample1
{
    static public void main(String[] args)
    {
        final Document doc = new Document();
        try {
            PdfWriter.getInstance(doc, new FileOutputStream("sample.pdf"));
            //                                               ↑出力ファイル

            doc.open();

            doc.add(new Paragraph("abc"));    // ← ファイルの内容

        } catch (IOException e) {
            e.printStackTrace();
        } catch (DocumentException e) {
            e.printStackTrace();
        }

        doc.close();
    }
}

次に漢字を出力してみる。

………。
………。
………。

何も表示されない。

どうやら、日本語を表示するには日本語用のフォントを指定しなければいけないらしい。

import java.io.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;

public class Sample2
{
    static public void main(String[] args)
    {
        final Document doc = new Document();
        try {
            PdfWriter.getInstance(doc, new FileOutputStream("sample.pdf"));

            doc.open();

            final Font font = new Font(BaseFont.createFont("HeiseiKakuGo-W5",
                                                           "UniJIS-UCS2-H",
                                                           BaseFont.NOT_EMBEDDED));

            doc.add(new Paragraph("あいう", font));

        } catch (IOException e) {
            e.printStackTrace();
        } catch (DocumentException e) {
            e.printStackTrace();
        }

        doc.close();
    }
}

指定できるフォントは「HeiseiKakuGo-W5」と「HeiseiMin-W3」、「KozMinPro-Regular」。

実に簡単だ。

[車(セダン)] 今日の一冊
仮面(ペルソナ) (幻冬舎ノベルス―幻冬舎推理叢書)

仮面(ペルソナ)

  • 作者: 山田 正紀
  • 出版社/メーカー: 幻冬舎
  • 発売日: 1998/02
  • メディア: 単行本(ソフトカバー)

タグ:Java iText
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。