Itext

在企業的信息系統中,報表處理一直占比較重要的作用,iText是一種生成PDF報表的Java組件。通過在伺服器端使用Jsp或JavaBean生成PDF報表,客戶端採用超連結顯示或下載得到生成的報表,這樣就很好的解決了B/S系統的報表處理問題。

基本介紹

  • 中文名:Itext
  • 屬於:站點sourceforge一個項目
  • 作用:生成PDF文檔
  • 類型:免費產品
前言,iText簡介,iText代碼示例,關於字型,二:導出word、pdf報表,iText 的需求分析,

前言

此產品為免費產品。

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文檔不能手動生成。
  • 文檔需在無人參與,批處理模式下自動創建。
  • 內容被定製或個性化;例如,終端客戶的名字需要標記在大量的頁面上。

相關詞條

熱門詞條

聯絡我們