ASP產生PDF檔案的方法

來源:互聯網
上載者:User
Adobe PDF格式已經變成很多機構和公司進行跨平台製表的通用媒體格式。儘管我不是這個產品的狂熱癡迷者,卻不得不接受這樣一個事實:用這個格式產生一個協定可能會比用Word還要好。

        Adobe PDF格式已經變成很多機構和公司進行跨平台製表的通用媒體格式。儘管我不是這個產品的狂熱癡迷者,卻不得不接受這樣一個事實:用這個格式產生一個協定可能會比用Word還要好。

        由於在一家僱用公司工作,我已經把我們所有早期的軟體寫成能在Internet上運行,這樣我們就能和小的子公司共用公用資料庫了。然而我們遇到的最大的問題就是製表。當一個申請人坐在資訊站裡線上填寫他們的就業申請時,我們如何取得當前的文檔(或申請等)?由於我們做了大量工作來擷取資料,我們還需要申請人手工填寫一份申請。

        我試了各種辦法,但是看來都有一個很大的限制: 

        如果我能快速產生它,它就只能是一個HTML形式的衍生物,在列印時就會變得面目全非。如果設計的看起來美觀一些,它就會變得很慢。這是由於我選擇用RTF格式作為我的喜好設定,然後使用檔案系統對象來完成基於模板的RTF檔案,最後加入了我的資訊。這個磁碟讀寫的過程會耗費很長時間。記住:我們這裡不是在討論列表資料或者一個Excel試算表。我們是想讓程式用我們自己的標誌進行處理。

        最後,我選擇了Adobe(很像一句廣告詞?——譯者)。我討厭它的瀏覽器所以希望自己不會和它糾纏上,然而它的格式看起來很不錯而且檔案也不大。大部分使用者都在系統裡裝上它,我們的客戶也不例外。

        因此我一直在尋找把資料從HTML表單傳遞到PDF檔案的方法。我試過使用Adobe表單,但是它不能真正有效運行,然後還要統計如何合并資料庫請求。這根本不是我想要的東西,我想直接把資料從我的HTML表單傳遞到資料庫,然後產生資料資訊到PDF檔案裡作為瀏覽或列印。
最終我在UseNet發現了線索。一個叫Jeremy Hunter的提交的一個連結包含了我準備在這裡講的很多東西——partners.adobe.com/asn/developer/acrosdk/forms.html。 

         首先必須在定義欄位的工作站(不是伺服器)上安裝有Adobe完全版。這個是一個指向Adobe Forms Acrobat Toolkit的連結,由此開始一切就容易了。


第一、下載這個套裝工具並把它解壓縮到指定目錄。

當你進行這一步操作時,你會發現所有原始碼都在VB或VC++中。我們這裡不打算關注它,但是如果你需要代碼就在這裡。


第二、註冊你的DLL。

有兩個DLL需要被複製到你的伺服器上。一個在Visual Basic檔案夾中叫fdfacx.dll,另一個在Visual C++檔案夾中叫fdftk.dll。用regsvr32註冊fdfacx.dll檔案。我把這兩個檔案都放到c:winntsystem32下,並在當前路徑下輸入“regsvr32 fdftk.dll”。如果你遇到錯誤提示資訊,請檢查確認這兩個檔案確實在目前的目錄下,沒有問題則進入下一步。


第三、建立表單。

我們將使用每個人對這個示範都很熟悉的表單。這在“http://www.irs.gov”隨意可得並為我們提供足夠的領域來展示我們能作的東西。


第四、定義Adobe表單欄位。

在Adobe Acrobat中開啟文檔後選擇表單工具,描述你的第一個表單欄位(First Name)。

在你定義後它將讓你命名,我這裡命名為“FirstName”。注意這裡有幾個標準的附加格式選項,除了字型大小,我選擇進行合法性檢查和格式化我的ASP文檔。由於這是一個快速示範,我選擇跳過任何檢查,但是我將在用戶端的表單進行處理,並在傳遞變數前在服務端格式化ASP頁面。

繼續其他欄位,每一個都要注意命名並可能格式化字型大小或屬性。
在伺服器上儲存你的修改。


第五、編寫ASP頁面。

在開始這一步之前你要注意到FDF套裝工具闡述的一個主要對象——“FDFApp.FDFApp”。它開放了許多方法,手冊上概述了其他的可能方法。我們主要關心兩個方法——fdfSetValue和fdfSetFile。接下來切入正題。

第六、沒有必要成為PDF專家,這是我目前的建議。套裝工具的使用者指導概述了所有方法,看上去在這個入門介紹之外還有很多可能的方法。就像你所看到的一樣,你可以很容易添加資料庫命令來收集資料或向資料庫記錄資料



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.