前言
此產品為免費產品。
iText簡介
iText是著名的開放源碼的站點sourceforge一個項目,是用於生成PDF文檔的一個java類庫。通過iText不僅可以生成PDF或rtf的文檔,而且可以將XML、Html檔案轉化為PDF檔案。 iText的安裝非常方便,下載iText.jar檔案後,只需要在系統的CLASSPATH中加入iText.jar的路徑,在程式中就可以使用iText類庫了。
iText代碼示例
關於字型
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
// 華文中宋
BaseFont bfComic99 = BaseFont.createFont("c:\\windows\\fonts\\STZHONGS.TTF",
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//隸書
BaseFont bfComic11= BaseFont.createFont("c:\\windows\\fonts\\SIMLI.TTF",
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//宋體&新宋體 (這種字型的輸出不了.有問題)
// BaseFont bfComic12 = BaseFont.createFont("c:\\windows\\fonts\\SIMSUN.TTC", null,
BaseFont.NOT_EMBEDDED, BaseFont.NOT_EMBEDDED, null, null);
//宋體-方正超大字元集
BaseFont bfComic13 = BaseFont.createFont("c:\\windows\\fonts\\SURSONG.TTF",
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//幼圓
BaseFont bfComic14 = BaseFont.createFont("c:\\windows\\fonts\\SIMYOU.TTF",
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font font = new Font(bfComic0, 14);
String text1 = "啊發生的發球特工是大哥是法國時的風格是This is the quite popular True Type
font (繁體字測試VS簡體字測試) ==>"+new java.util.Date();
document.add(new Paragraph(text1, font));
}
catch(DocumentException de) {
System.err.println(de.getMessage());
}
catch(IOException ioe) {
System.err.println(ioe.getMessage());
}
// step 5: we close the document
document.close();
System.out.println(">>> Export : "+"D:\\ChinesePDF005__.pdf");
}
}
這裡調用的都是系統中的字型,如果系統中沒有,找個下下來,在C:/windows/fonts/ 安裝即可。
二:導出word、pdf報表
/**
* 導出PDF示例
* @author raintion* @param args
*/
public static void main(String[] args) {
try {
Document document = new Document();
PdfWriter. getInstance(document, new FileOutputStream("F:\\test.pdf" ));
document.open();
document.add(new Paragraph( "pride in me!" ));
document.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
/**
* 導出Word示例
* @author raintion
* @param args
*/
public static void main(String[] args) {
try {
Document document = new Document(PageSize.A4);
RtfWriter2. getInstance(document, new FileOutputStream("F:\\test.doc" ));
document.open();
Paragraph title = new Paragraph("你好 地球人..." );
document.add(title);
document.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
iText 的需求分析
一般情況下,iText使用在有以下一個要求的項目中:
•內容無法提前利用:取決於用戶的輸入或實時的資料庫信息。
•由於內容,頁面過多,PDF文檔不能手動生成。
•文檔需在無人參與,批處理模式下自動創建。
•內容被定製或個性化;例如,終端客戶的名字需要標記在大量的頁面上。