直播中
由于在一家雇用公司工作,我已經(jīng)把我們所有早期的軟件寫成能在Internet上運(yùn)行,這樣我們就能和小的子公司共享公用數(shù)據(jù)庫了。然而我們遇到的最大的問題就是制表。當(dāng)一個(gè)申請人坐在信息站里在線填寫他們的就業(yè)申請時(shí),我們?nèi)绾稳〉卯?dāng)前的文檔(或申請等)?由于我們做了大量工作來獲取數(shù)據(jù),我們還需要申請人手工填寫一份申請。
我試了各種辦法,但是看來都有一個(gè)很大的限制:
如果我能快速產(chǎn)生它,它就只能是一個(gè)HTML形式的衍生物,在打印時(shí)就會(huì)變得面目全非。如果設(shè)計(jì)的看起來美觀一些,它就會(huì)變得很慢。這是由于我選擇用RTF格式作為我的首選項(xiàng),然后使用文件系統(tǒng)對象來完成基于模板的RTF文件,最后加入了我的信息。這個(gè)磁盤讀寫的過程會(huì)耗費(fèi)很長時(shí)間。記?。何覀冞@里不是在討論列表數(shù)據(jù)或者一個(gè)Excel電子表格。我們是想讓程序用我們自己的標(biāo)志進(jìn)行處理。
最后,我選擇了Adobe(很像一句廣告詞?——譯者)。我討厭它的瀏覽器所以希望自己不會(huì)和它糾纏上,然而它的格式看起來很不錯(cuò)而且文件也不大。大部分用戶都在系統(tǒng)里裝上它,我們的客戶也不例外。
因此我一直在尋找把數(shù)據(jù)從HTML表單傳遞到PDF文件的方法。我試過使用Adobe表單,但是它不能真正有效運(yùn)行,然后還要統(tǒng)計(jì)如何合并數(shù)據(jù)庫請求。這根本不是我想要的東西,我想直接把數(shù)據(jù)從我的HTML表單傳遞到數(shù)據(jù)庫,然后產(chǎn)生數(shù)據(jù)信息到PDF文件里作為瀏覽或打印。
最終我在UseNet發(fā)現(xiàn)了線索。一個(gè)叫Jeremy Hunter的提交的一個(gè)鏈接包含了我準(zhǔn)備在這里講的很多東西——http://partners.adobe.com/asn/developer/acrosdk/forms.html。
首先必須在定義字段的工作站(不是服務(wù)器)上安裝有Adobe完全版。這個(gè)是一個(gè)指向Adobe Forms Acrobat Toolkit的鏈接,由此開始一切就容易了。
第一、下載這個(gè)套裝工具并把它解壓縮到指定目錄。
當(dāng)你進(jìn)行這一步操作時(shí),你會(huì)發(fā)現(xiàn)所有源代碼都在VB或VC++中。我們這里不打算關(guān)注它,但是如果你需要代碼就在這里。
第二、注冊你的DLL。
有兩個(gè)DLL需要被復(fù)制到你的服務(wù)器上。一個(gè)在Visual Basic文件夾中叫fdfacx.dll,另一個(gè)在Visual C++文件夾中叫fdftk.dll。用regsvr32注冊fdfacx.dll文件。我把這兩個(gè)文件都放到c:winntsystem32下,并在當(dāng)前路徑下輸入“regsvr32 fdftk.dll”。如果你遇到錯(cuò)誤提示信息,請檢查確認(rèn)這兩個(gè)文件確實(shí)在當(dāng)前目錄下,沒有問題則進(jìn)入下一步。
第三、建立表單。
我們將使用每個(gè)人對這個(gè)示范都很熟悉的表單。這在“http://www.irs.gov”隨意可得并為我們提供足夠的領(lǐng)域來展示我們能作的東西。
第四、定義Adobe表單字段。
在Adobe Acrobat中打開文檔后選擇表單工具,描述你的第一個(gè)表單字段(First Name)。
在你定義后它將讓你命名,我這里命名為“FirstName”。注意這里有幾個(gè)標(biāo)準(zhǔn)的附加格式選項(xiàng),除了字體大小,我選擇進(jìn)行合法性檢查和格式化我的ASP文檔。由于這是一個(gè)快速演示,我選擇跳過任何檢查,但是我將在客戶端的表單進(jìn)行處理,并在傳遞變量前在服務(wù)端格式化ASP頁面。
繼續(xù)其他字段,每一個(gè)都要注意命名并可能格式化字體大小或?qū)傩浴?BR>在服務(wù)器上保存你的修改。
第五、編寫ASP頁面。
在開始這一步之前你要注意到FDF套裝工具闡述的一個(gè)主要對象——“FDFApp.FDFApp”。它開放了許多方法,手冊上概述了其他的可能方法。我們主要關(guān)心兩個(gè)方法——fdfSetValue和fdfSetFile。接下來切入正題。
第六、沒有必要成為PDF專家,這是我目前的建議。套裝工具的用戶指導(dǎo)概述了所有方法,看上去在這個(gè)入門介紹之外還有很多可能的方法。就像你所看到的一樣,你可以很容易添加數(shù)據(jù)庫命令來收集數(shù)據(jù)或向數(shù)據(jù)庫記錄數(shù)據(jù)。
原作者簡介:
Ty Button就職于俄勒岡的一個(gè)名叫Cardinal Services的雇用公司。Cardinal Services公司曾被俄勒岡商業(yè)雜志評為1997和1998年度俄勒岡南部第一號雇用公司,同時(shí)被南海岸商業(yè)開發(fā)中心和美國銀行評為俄勒岡發(fā)展最快的公司。Button是MIS開發(fā)人員,也在網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)和生產(chǎn)過程自動(dòng)化上花費(fèi)了大部分時(shí)間