巧用ASP生成PDF文件
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
[p]adobe pdf格式已經變成很多機構和公司進行跨平臺制表的通用媒體格式。盡管我不是這個產品的狂熱癡迷者,卻不得不接受這樣一個事實:用這個格式產生一個協定可能會比用word還要好。[/p]
[p]由于在一家雇用公司工作,我已經把我們所有早期的軟件寫成能在internet上運行,這樣我們就能和小的子公司共享公用數據庫了。然而我們遇到的最大的問題就是制表。當一個申請人坐在信息站里在線填寫他們的就業申請時,我們如何取得當前的文檔(或申請等)?由于我們做了大量工作來獲取數據,我們還需要申請人手工填寫一份申請。[/p] [p]我試了各種辦法,但是看來都有一個很大的限制:[/p] [p]如果我能快速產生它,它就只能是一個html形式的衍生物,在打印時就會變得面目全非。如果設計的看起來美觀一些,它就會變得很慢。這是由于我選擇用rtf格式作為我的首選項,然后使用文件系統對象來完成基于模板的rtf文件,最后加入了我的信息。這個磁盤讀寫的過程會耗費很長時間。記住:我們這里不是在討論列表數據或者一個excel電子表格。我們是想讓程序用我們自己的標志進行處理。[/p] [p]最后,我選擇了adobe(很像一句廣告詞?——譯者)。我討厭它的瀏覽器所以希望自己不會和它糾纏上,然而它的格式看起來很不錯而且文件也不大。大部分用戶都在系統里裝上它,我們的客戶也不例外。[/p] [p]因此我一直在尋找把數據從html表單傳遞到pdf文件的方法。我試過使用adobe表單,但是它不能真正有效運行,然后還要統計如何合并數據庫請求。這根本不是我想要的東西,我想直接把數據從我的html表單傳遞到數據庫,然后產生數據信息到pdf文件里作為瀏覽或打印。[br]最終我在usenet發現了線索。一個叫jeremy hunter的提交的一個鏈接包含了我準備在這里講的很多東西——http://partners.adobe.com/asn/developer/acrosdk/forms.html。[/p] [p]首先必須在定義字段的工作站(不是服務器)上安裝有adobe完全版。這個是一個指向adobe forms acrobat toolkit的鏈接,由此開始一切就容易了。 [/p] [p]第一、下載這個套裝工具并把它解壓縮到指定目錄。[/p] [p]當你進行這一步操作時,你會發現所有源代碼都在vb或vc++中。我們這里不打算關注它,但是如果你需要代碼就在這里。 [/p] [p]第二、注冊你的dll。[/p] [p]有兩個dll需要被復制到你的服務器上。一個在visual basic文件夾中叫fdfacx.dll,另一個在visual c++文件夾中叫fdftk.dll。用regsvr32注冊fdfacx.dll文件。我把這兩個文件都放到c:winntsystem32下,并在當前路徑下輸入“regsvr32 fdftk.dll”。如果你遇到錯誤提示信息,請檢查確認這兩個文件確實在當前目錄下,沒有問題則進入下一步。 [/p] [p]第三、建立表單。[/p] [p]我們將使用每個人對這個示范都很熟悉的表單。這在“http://irs.gov”隨意可得并為我們提供足夠的領域來展示我們能作的東西。[br]第四、定義adobe表單字段。[/p] [p]在adobe acrobat中打開文檔后選擇表單工具,描述你的第一個表單字段(first name)。[/p] [p]在你定義后它將讓你命名,我這里命名為“firstname”。注意這里有幾個標準的附加格式選項,除了字體大小,我選擇進行合法性檢查和格式化我的asp文檔。由于這是一個快速演示,我選擇跳過任何檢查,但是我將在客戶端的表單進行處理,并在傳遞變量前在服務端格式化asp頁面。[/p] [p]繼續其他字段,每一個都要注意命名并可能格式化字體大小或屬性。[br]在服務器上保存你的修改。 [/p] [p]第五、編寫asp頁面。[/p] [p]在開始這一步之前你要注意到fdf套裝工具闡述的一個主要對象——“fdfapp.fdfapp”。它開放了許多方法,手冊上概述了其他的可能方法。我們主要關心兩個方法——fdfsetvalue和fdfsetfile。接下來切入正題。[/p] [p]第六、沒有必要成為pdf專家,這是我目前的建議。套裝工具的用戶指導概述了所有方法,看上去在這個入門介紹之外還有很多可能的方法。就像你所看到的一樣,你可以很容易添加數據庫命令來收集數據或向數據庫記錄數據。[/p] [p]原作者簡介:[br]ty button就職于俄勒岡的一個名叫cardinal services的雇用公司。cardinal services公司曾被俄勒岡商業雜志評為1997和1998年度俄勒岡南部第一號雇用公司,同時被南海岸商業開發中心和美國銀行評為俄勒岡發展最快的公司。button是mis開發人員,也在網絡數據庫開發和生產過程自動化上花費了大部分時間[/p] 該文章在 2010/7/5 0:12:16 編輯過 |
關鍵字查詢
相關文章
正在查詢... |