近來關注著表單的相關方案, 除了 Web(眾多框架, backbone-forms), XML(XForms, InfoPath, XUL) … 前陣子逛軟體商店, 才發現有處理 PDF 表單這類 App。
搜尋相關資源, 整理一下 …
雖然系出 Adobe, 卻也不一定需要 Adobe 官方指定工具, 就能從頭到尾、從建立到處理, 完成所有工作。
特點
和 Web, XML 方案要一整個系統最大的差別, 在於 PDF 的表單只要單檔就可運作。
1. 方便移動
PDF 表單除了只要單檔, 和 PDF 一樣, 不論行動設備或各種常見的作業系統都通行。
在 OS X 上的 Preview 可直接填寫。
另一個觀點是能離線作業 … 得以各別填妥表單再傳送處理。
2. 容易讀取
不論對人與電腦都方便。
PDF 可輸出的樣式彈性很大, 幾乎是報表方案的代名詞。好讀自然不再話下, 只要有適當的設計規劃。再加上一些欄位就成為 PDF Forms, 立即讓人填寫。
讀取表單內容, 可利用 pdftk 直接讀出資料, 毋須寫程式也可使用 … 在下一段介紹用法。
實作
很多介紹, 是以寫程式來產生 PDF 表單, 後續處理表單資料也要額外程式 … 其實不一定需要, 這些工作不寫程式也能達成。
1. 建立表單 PDF Forms
在 OS X 有 PDFpenPro, PDFClerk Pro, PDF Nomad 可替 PDF 加上表單欄位。
開放源碼 OpenOffice(使用版本 3.4.1), 則可在各平台直接建立 PDF 表單。步驟大致如下:
a. 新增 XML 表單
b. 建立表單項目
在下面的範例, 塞一張圖檔、加一些欄位, 額外使用淡紅色標示欄位名稱。
建妥表單, 再到下一步。
c. 輸出 PDF 表單
d. PDF 表單選項
e. PDF 表單檔名
完成以上步驟, 應該能順利產生 PDF 表單: fruit_order.pdf
檔案。
下載: fruit_order.odt(無法預覽, 請選擇下載), fruit_order.pdf(線上看有點怪, 下載後 ok)。
2. 取出資料
a. 填寫表單資料
使用 Preview 按上面 PDF 表單給定欄位, 填入各項資料。
填入的資料會存入該 pdf 檔案中。
b. 讀取表單資料
使用 pdftk, 如果檔案放在 ~/Desktop/fruit_order.pdf, 執行如下指令:
$ pdftk ~/Desktop/fruit_order.pdf dump_data_fields_utf8 output -
就可將表單資料輸出到 stdout
, 或把 -
改為檔名, 選擇輸出到特定檔案。
和先前 b. 建立表單項目 步驟比較, 可看出 欄位名稱 (FieldName) 和 填寫資料 (FieldValue) … 很容易對上。
3. 佈置 PDF 表單
從上面的介紹, 瞭解 PDF 表單 建立, 填寫, 讀取 方式, 接下來看看怎麼安置這些 PDF 表單檔案。
a. 電子郵件
PDF 放在網站上提供下載, 或以電子郵件傳給需要填表單的人。
在 PDF 表單裡頭標注, 填寫完寄給 foo@jia-side.org … 即可完成表單發送、接收的程序。
只是收到 PDF 檔案後會怎樣被處理, 全取決於經辦人員。
b. 檔案分享
適合組織內區域網路中檔案共享, 或使用網際網路檔案服務的方式 … 也就是特定群組內的檔案分享。
在檔案相關系統中, 安排 PDF 表格處理方式的各種目錄。例如: 所有表單的 樣板目錄, 處理中目錄, 完成目錄, 以及最後流入按年份分門別類的 庫存目錄, …
使用大部份人都熟悉的方式, 不同工作在不同目錄間流動, 即可完成許多原先紙本的工作。
c. 內容管理 + 流程系統
基本上, 是前個項目 b. 檔案分享 的進階版 … 概念相同, 但所有動作自動化。
- 樣板目錄 中, 各表單的版本由內容管理區分。
- 新填表單送入 收件目錄, 由流程系統分派給經辦人員。
- 表單處理的特定過程, 皆由流程系統安排。(可考慮資料檢核)
- 處理完成, 按流程安排的步驟放入 完成目錄 中, 供相關人員瀏覽。
- 老舊檔案的時間屆存檔年份, 內容管理負責移到 庫存目錄 備查。
用途
表單是許多組織行動的基礎, 單純表單的角色, 卻常被使用系統與人力資源所左右。
複雜的系統, 其本身往往就需要很多專業人士來維持。
從頭打造的應用系統, 建立/維護也是個問題, 總不成每每來個衝刺。
使用 PDF 表單, 有機會突破這些罩門。
- 能操作文書軟體, 就能建立/維護表單。
- 不需 Web 專業, 也可在表單中盡量放入必要訊息。(參考高鐵轉乘服務的PDF檔)
- 讀取表單內輸入項目的資料, 只要工具, 不用寫程式。
使用方面 PDF 表單也近似紙本表單, 能高亮(Highlight)標示、張貼備忘(Note) …
再者, 若打通檔案的流通, 透過智慧手機、平板設備處理 PDF 表單, 會更接近真實填寫表單, 包括簽名。