第一部分----iText的歷史

 
Part 1
介紹
3. 我將給大家展示一個PDF的概要介紹, 同時也講述一些iText的通常用法你將可以通過一些截屏來了解PDF的基本概念,然後通過一個系列的”hello world”來了解如何利用iText操作和創建PDF文件.
 
iText: 什麼時候, 爲什麼要用
這個章節你將瞭解
iText的歷史和第一次使用場合
iText PDF 函數概覽
I介紹這個書裏面的例子
 
如果你想提高程序的關於動態PDF創建和操作的能力, 你來對地方了,通過這本書的學習, 你將學到如何產生專業, 高質量的PDF文件, 特別你可以學到:
在瀏覽器裏面動態創建PDF文件
創建一個基於XML和數據庫的報表文件
創建電子書,可以使用到衆多的PDF交互特徵
在現有的PDF文檔裏面增加書籤, 頁碼水印和其他的特徵.
對現有的PDF文件進行分割或者合成
填寫表格, 增加電子簽名等等
 
你將在線創建這些文件, 這就意味者你不是用桌面的應用程序:如Adobe Acrobat而是用一套API從你自己的應用裏面去產生PDF文件,如果你的項目裏面有這樣的一些需求, 你就得必須這樣做:
 
如果這些內容需要從一個web的環境裏面產生, PDF比HTML更有優勢, 高質量的打印, 安全, 文件字節更少
T這些PDF文件不能手工預先生成, 因爲它未來的內容多少是不確定的, 他們取決於用戶的輸入條件在進行計算得出
這些文件需要在無人職守的情況產生, 如一個批處理的過程
這些內容需要個性化和客戶化的定義.
本書也是一個全面的API指南, iText是一個開源的Java 操作PDF的庫, 對於第一次使用iText的用戶來說,本書是一個難得的上手資料, 儘管iText的基本操作相當簡單, 但是本書覆蓋了API的基本知識和高級技能.本書對於已經熟練使用iText的用戶來說, 也是有相當作用的, 通過該書可以系統化的幫助這些高級用戶梳理自己的知識體系, 甚至對於高級專家, 他們也會常常發現自己以前沒有注意的iText的功能.
 
Itext的歷史
 
在這個章節, 你可以看到iText的是爲什麼會誕生, 我們也將看到一些現實的用iText產生的PDF文件範例.
1.1 iText的歷史
在1998年的夏天, 我就職的大學啓動了一個項目力求重新編寫一套獨立的程序給學生的管理人員使用,在這之前, 他們在每個學期末通過一個DOS程序來輸入學生的成績然後計算最終的結果, 這些結果只能在一種型號的打印機上打印,這當然不是理想的方式, 退一步說,教師和教務人員使用的操作系統各種各樣:Windows, Mac, Linux, Solaris等等,但是爲了學生的成績錄入, 他們不得不迫使自己使用那個古老的DOS平臺.學院覺得是時候該做點什麼事情來解決這個問題了, 於是僱用了兩個開發人員做一個基於Web的程序, 一個僱員是Mario Maccarini, 另一個如你所料, 就是我.
 Mario和我立即開始在apache的JSERV(那時可以說是J2EE的石器時代)編寫一些Servlet, 我們沒多久就很自豪地將學生, 課程和成績可以在一個很原始的HTML瀏覽器上展示了,和MS-DOS相比, 我們的程序是一個很大的進步, 每個人都很興奮, 直到有一天, 有人問我:hi, 你們打算怎麼處理那個“文檔”問題?
 
1.1.1        iText 是怎麼產生的
如果你在IR或者Netscape打印過HTML就可以很好的理解我當時碰到的問題:每種瀏覽器都有自己解釋HTML的方法,在fireFox裏面看到的表格和IE可能不是相同的,使用樣式表(CSS)可以幫你去調整界面結果,但是終端用戶可能會禁用樣式表, 自己來設置頁碼, 邊距等等,就像word文檔, 最終用戶可以使用一些稱謝改變裏面的內容, 因此, 我們認爲HTML和DOC文件只能是可選方案, 我們需要一些技術可以讓我產生不能變更的報告表單, 而且必須有很好的排版功能。
我不瞭解其他的格式,我只是希望這個格式是隻讀的, 可以精確地展示我們文檔設置者當時的設計, 並且是和操作系統, 打印機無關的。 當這個問題出現的時候, 我幾乎想都沒有想就衝動的對自己說:我們可以用PDF格式。
不瞞你說, 這還真是一個好的答案, 馬上得到大家的認可, PDF作爲一個廣泛的頁面描述語言, 它當時已經是一個工業標準,輕便, 可靠很好的打印品質, 幾乎人人有pdf閱讀器。 我太想當然地認爲當時一定有很好的PDF開源代碼, 可以產生並且操作PDF.
顯然我錯了, 我需要的是一個API, 一系列的Classes文件 最好是用java編寫的, 而且要開源的,在1998年我可以找到的唯一的開源PDF代碼並不能提供給我足夠的函數來實現我項目的需求,那個時候我才知道如果我要信守諾言, 就不得不自己編寫PDF的庫, 在接下來的那個學期, 我幾乎把所有的業餘時間, 放在閱讀PDF參考上。
在我被僱用7個月後, 我們新的局域網應用(就是作者寫的那個系統,譯者注)提供給已經註冊的學院的教授, 他們的助理和行政管理人員,能夠登錄自己個性化的頁面, 而且也可以做到:
 
可以獲得一個教師或他們的助理的相關課程總覽。
按照PDF格式導出一個課程所有學生成績單
可以在HTML表單上提交學生成績
按照課程來獲取完全版本的成績列表
學校的教務人員可以
按照學生來開設課程。
產生各個考試周期用於學生申請用的表單
在學期末計算學生的成績
爲不同的目的來獲得學生全年的信息: 原始成績表, 用於宣佈的成績表和學生反饋表
產生官方的文檔:學生的報告卡
每個需要打印的文檔由新的庫來生成PDF文件,我設計了一系列的Classes文件, 以求可以在其他項目使用, 我被他人鼓勵把我的代碼出版成開源軟件,因此iText誕生了。
幾乎同時, 有很多的開發者開始使用這些庫,提交一些有價值的代碼,Paulo Soares是早期的開發者,2000年他加入了這個項目, 他也是iText新特性:。Net開發端口iTextSharp的主要研發人員。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章