零度空間

          To feel the crazy world

          PDF & iText

          最近要用到iText來處理PDF來提供User與服務(wù)器交互的途徑, 所以從Google和Baidu上翻了翻,學(xué)到了一點東西, 想Mark下來以后參考,同時也可以和大家交流一下.

          Project最主要是要解決三個方面的問題:

          1.用什么Software來生成可交互的Form?
          2.用什么Open source tools來Pre-fill Form?
          3.在User填完Data后,又以什么方式Submit 到Server處理?

          對于第一個問題,自然是用Adobe 的Software啦,但是用Acrobat Pro還是用Lifecycle Designer, 卻讓我費了不少勁.為什么咧?因為Acrobat Pro和Lifecycle Designer 處理的Form的格式是不一樣的. Acrobat Pro里面用的是AcroForm,是Acrobat3.0開始用的格式,而Lifecycle Designer里面用的是Xfa Form,是基于XML的, 兩者的不同請參考以下的摘錄:      

          Acroforms and XFA forms are different technologies

          The interactive forms that you create in LiveCycle Designer are different than the interactive forms that you create in Adobe Acrobat. If you create an interactive form in Acrobat, your form is based on Adobe’s Acroform technology. This technology dates back to Acrobat version 3, and Adobe provides the “Acrobat Forms API Reference” to provide the technical details for this technology. I would not recommend using Acroform technology because XFA is the better technology.
           
          If you are moving from Acroforms to XFA forms, you need to know a couple of important facts about these two technologies:

          1.LiveCycle Designer can edit a PDF form created in Acrobat, but Acrobat cannot edit a PDF form created in Designer.

          2.JavaScript works differently in these two technologies. Some of the JavaScript routines that work in Acroforms will not work in XFA forms. Adobe has documented these differences in a 43 page online PDF called, “Converting Acrobat JavaScript for Use in LiveCycle Designer Forms.” Designer is a much more robust tool for using JavaScript in your forms, so I recommend that you learn how to script with the XFA object model. See Chapter 4, “Form Scripting,” for more information.

          PS: you can find more in the below link: More info about XFA


                  
















           

           







          Lifecycle designer 是后來才有的東西,自然是比Acrobat Pro更先進也更適合用于交互,但我的項目最終還是選了Acrobat Pro,因為我的第二個問題的答案是iText. iText可以用來Pre-fill XFA格式的Form,但是不知道為什么用iText Create的submit button不能submit XFA form(按了Button后沒有反應(yīng)),后來上網(wǎng)查到原來iText不支持XFA Form, 所以也只能用Acrobat啦.

          而且用Acrobat Pro創(chuàng)建的Form有兩個我自己覺得不錯的優(yōu)點(以TextFeild類型為例子):

              1. Acrobat Pro創(chuàng)建的AcroForm是沒有層次結(jié)構(gòu)的,而LifeCycle Desinger創(chuàng)建的Form是有層次的.什么意思咧?舉個例子,同樣是Add一個TextFeild, 把它命名為CustomerName,在AcroForm里面的名字就是CustomerName啦,而在XFA Form里面就成了topmostSubForm[0].Page1[0].CustomerName[0],咋一看,還真是煩.而且你的PDF一改的話,那你的Feild name也相應(yīng)改了,這樣Program也要改了....
              2. Acrobat Pro創(chuàng)建的AcroForm的TextFeild可以自適應(yīng)大小,一個TextFeild總是有一定的長度,但要填的Value就不知有多長啦,有可能有個CustomerName真的很長咧,這在XFA Form里面就會有些Value Show不出來,但Acrobat Pro創(chuàng)建的AcroForm的TextFeild就可以根據(jù)Value的大小而改變字體的大小來適應(yīng)TextFeild的長度.

          以上兩點是我自己的認識,也許Lifecycle Designer也可以做到以上的效果,但目前我是不會,因為接觸Lifecycle Designer比較少,如果有大蝦知道的話請多多指教.

          posted on 2009-04-15 11:32 KenLee 閱讀(708) 評論(2)  編輯  收藏

          評論

          # re: PDF & iText 2009-07-17 09:30 Z.G.

          我想問問,普通的PDF格式的form,要轉(zhuǎn)成acroform的話,能夠做到拋開acrobat,直接利用API來轉(zhuǎn)換么?  回復(fù)  更多評論   

          # re: PDF & iText 2009-07-17 10:25 Z.G.

          另外我想問問iText可以用來submit表格到server端么  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          統(tǒng)計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          Tech

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 哈密市| 石楼县| 蓬安县| 邻水| 田林县| 三穗县| 广汉市| 万源市| 常德市| 彭泽县| 永安市| 桃园市| 蓝田县| 贵定县| 静乐县| 阿拉尔市| 南京市| 奈曼旗| 毕节市| 七台河市| 巴塘县| 嘉义市| 扎鲁特旗| 泾阳县| 城固县| 图片| 镇江市| 玉溪市| 苍溪县| 洛隆县| 忻城县| 额敏县| 德清县| 射洪县| 平阴县| 潢川县| 大冶市| 南开区| 商南县| 石屏县| 芜湖市|