在一個最近的后勤項目中,客戶要求我們建一個能讓用戶能從一個遺留系統查詢出貨信息的Web站點,有三個主要的需求:
1.出貨信息必須以PDF文檔的格式返回;
2.PDF文件必須能通過瀏覽器下載;
3.PDF文件必須能用Adobe Acrobat Reader閱讀;
1.iText類庫
iText是一個創建和處理PDF文檔的開源純Java類庫。Bruno Lowagie和Paulo Soares領導著這個項目。IText API能讓Java開發人員以編程的方式創建PDF文檔。iText提供了很多的特性:
支持PDF和FDF文檔
各種頁面尺寸
橫向和豎向布局
頁邊距
表格
斷字
頁頭
頁腳
頁碼
條形碼
顏色
文檔加密
JPEG,GIF,PNG和WMF圖片
有序和無序列表
陰影
水印
文檔模板
iText是一個開源庫。在寫本文的時候,iText可以在兩個許可協議下使用:Mozilla Public License和LGPL。假如想了解具體信息,請參考iText站點。在本文中,你將會看到iText API的應用。我們將闡述如何在服務器端應用中使用iText和servlet動態生成PDF文檔。
2.開始(Getting Started)
首先,你需要一個iText Jar文件。訪問iText站點并下載最新的版本。在寫本文時,最新的版本是使0.99。iText站點提供了API文檔和一個全面的指南。
除了iText,我們還要用servlet.假如你不熟悉servlet,你可以通過Jason Hunter的書《Java Servlet PRogramming》來學習它。你需要一個J2EE應用服務器或可以獨立運行的servlet引擎。開源軟件Tomcat,Jetty和Jboss是不錯的選擇。下文假設你使用的是Jakarta Tomcat 4.1。
1.iText API
iText API簡單易用。通過使用iText,你能創建自定義的PDF文檔。iText庫由下邊的一些包組成:
com.lowagie.servlets
com.lowagie.text
com.lowagie.text.Html
com.lowagie.text.markup
com.lowagie.text.pdf
com.lowagie.text.pdf.codec
com.lowagie.text.pdf.hyphenation
com.lowagie.text.pdf.wmf
com.lowagie.text.rtf
com.lowagie.text.xml
com.lowagie.tools
為了生成PDF文件,你只需要com.lowagie.text和com.lowagie.text.pdf兩個包。
我們的例子使用了這些iText類:
com.lowagie.text.pdf.PdfWriter
com.lowagie.text.Document
com.lowagie.text.HeaderFooter
com.lowagie.text.Paragraph
com.lowagie.text.Phrase
com.lowagie.text.Table
com.lowagie.text.Cell
要害的類是Document和PdfWriter。在創建PDF文檔時,你將經常使用這兩個類。Document是PDF文檔基于對象的描述。你可以通過調用Document類提供的方法往文檔中加入內容。PdfWriter對象通過java.io.OutputStream對象與Document關聯在一起。
新聞熱點
疑難解答