「Java」iText で任意のフォントを使用して PDF ファイルを出力する
iText で任意のフォントを使用して PDF ファイルを出力するサンプルを書いてみました。
その時のメモです。
■ PDFTest.java
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Font; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfWriter; public class PDFTest { public static void main(String[] args) throws Exception { ByteArrayOutputStream bos = new ByteArrayOutputStream(); Document document = new Document(); PdfWriter.getInstance(document, bos); document.open(); BaseFont bf = BaseFont.createFont("sazanami-gothic.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Font font = new Font(bf, 25); document.add(new Paragraph("Windowsでコンピューターの世界が広がります", font)); document.close(); FileOutputStream fos = new FileOutputStream(new File("output.pdf")); fos.write(bos.toByteArray()); fos.close(); } }
※ フォントはお決まり?の "さざなみフォント" で!
無事 PDF ファイルが出力されました。
以上です。
[ 検証環境 ]
Windows 7 SP1
Java SE 7 Update 45
iText 1.3.1 ( 古い・・・ )
※ iText の古いバージョン公式サイトからダウロードできるところ見つけられなかったので、JasperReports に同梱されているやつを使用しました ( iText 1.3.1 は JasperReports 1.2.2 に同梱されてます )。
・JasperReports Library - Browse /archive/jasperreports/JasperReports 1.2.2 at SourceForge.net
http://sourceforge.net/projects/jasperreports/files/archive/jasperreports/JasperReports%201.2.2/
あと、公式ではなさそうな雰囲気だけど、以下のサイトは iText の古いバージョンとかもダウロードできそうな感じです。
・iText Download - Open Source Software Package Details
http://olex.openlogic.com/packages/itext/