2008年12月1日

Java PDF 文件產生器 iText

iText
iText Tutorial: iText by Example
CJK fonts 中日韓字型 iTextAsian.jar
Using fonts

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Phrase;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;

public class Main {
public static void main(String[] args) throws DocumentException,
IOException {
// 設定文件紙張為横向 A7
Document document = new Document(PageSize.A7.rotate());
// 設定頁面邊距
document.setMargins(100, 100, 50, 50);

// 寫入檔案串流
File file = new File("c:/tmp/temp.pdf");
FileOutputStream os = new FileOutputStream(file);
PdfWriter writer = PdfWriter.getInstance(document, os);
document.open();

// 繁體中文
BaseFont chineseTraditionalFont = BaseFont.createFont("MHei-Medium",
"UniCNS-UCS2-H", BaseFont.NOT_EMBEDDED);
document.add(new Phrase("繁體中文\n", new Font(chineseTraditionalFont)));

// 简体中文
BaseFont chineseSimplifiedFont = BaseFont.createFont("STSong-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
document.add(new Phrase("简体中文\n", new Font(chineseSimplifiedFont)));

// 設定文件紙張為 A4, 產生新頁
document.setPageSize(PageSize.A4);
document.newPage();

// 日文
BaseFont japaneseFont = BaseFont.createFont("HeiseiMin-W3",
"UniJIS-UCS2-H", BaseFont.NOT_EMBEDDED);
document.add(new Phrase("アプンノ, あぷんの (apunno)\n", new Font(japaneseFont)));

// 韓文
BaseFont koreanFont = BaseFont.createFont("HYGoThic-Medium",
"UniKS-UCS2-H", BaseFont.NOT_EMBEDDED);
document.add(new Phrase("평화 (pyonghwa)\n", new Font(koreanFont)));

document.close();
}
}

沒有留言:

網誌存檔