JavaでPDFファイルを出力する(iTextライブラリ)【出力編】
前回は「iTextライブラリ」を使用するための準備を行った。
今回は「iTextライブラリ」を利用して、実際にPDFファイルを出力する手順を紹介する。
作成するPDFは、文字列を1つだけ表示する、極めてシンプルなものとする。
package jp.co.smp.pdf.action; import java.io.FileOutputStream; import java.io.IOException; import org.seasar.struts.annotation.Execute; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Font; import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfWriter; public class IndexAction { @Execute(validator = false) public String index() { return "index.jsp"; } @Execute(validator = false) public String createPdf() throws DocumentException, IOException{ //文書オブジェクトを生成 Document doc = new Document(PageSize.A4, 50, 50, 50, 50); //出力先(アウトプットストリーム)の生成 FileOutputStream fos = new FileOutputStream("C:\\temp\\test.pdf"); //アウトプットストリームをPDFWriterに設定 PdfWriter pdfwriter = PdfWriter.getInstance(doc, fos); //フォントの設定 Font font = new Font(BaseFont.createFont("HeiseiKakuGo-W5", "UniJIS-UCS2-H",BaseFont.NOT_EMBEDDED),15,Font.BOLD); //文章オブジェクト オープン doc.open(); //PDF文章に文字列を追加 doc.add(new Paragraph("PDF作成", font)); //文章オブジェクト クローズ doc.close(); //PDFWriter クローズ pdfwriter.close(); return null; } }
[解説]
Documentクラスは、出力するPDFを表す文書オブジェクトで、Documentクラスのコンストラクタにて、出力するPDFのページサイズと上下左右の余白を設定する。
PdfWriterクラスは、PDFの出力を行うクラスで、PdfWriterクラスに、出力するDocumentインスタンスと、出力先を設定する。
フォントの設定には、Fontクラスを使用する。
Documentオブジェクトに要素を追加するには、必ず事前に「open」して、終了したら「close」する必要がある。
Documentオブジェクトに要素を追加するには、「add」メソッドを用いる。
<実行結果>
実行すると、フォルダ「C:\temp」に「test.pdf」が作成される。
<関連記事>
JavaでPDFファイルを出力する(iTextライブラリ)【準備編】
JavaでPDFファイルを出力する(iTextライブラリ)【出力編】
JavaでPDFファイルを出力する(iTextライブラリ)【テキスト自由配置編】
JavaでPDFファイルを出力する(iTextライブラリ)【画像配置編】
JavaでPDFファイルを出力する(iTextライブラリ)【図形配置編】
JavaでPDFファイルを出力する(iTextライブラリ)【図形配置編2】
JavaでPDFファイルを出力する(iTextライブラリ)【表配置編】
<お勧め書籍>