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
」。
実に簡単だ。
今日の一冊 | |
|
2007-06-30 08:24
nice!(0)
コメント(0)
トラックバック(0)
コメント 0