2013-04-18 29 views
0

我有一個PDF表單代替文本使用iText的PDF文件時,情況如下如何找到和

 Hello firstname, 

     Mr. firstname you are currently working at the designation post 
     and your current package is salary. 

     Thanks. 

     Excel database 
     -------------------------------------- 
     + firstname + salary + designation + 
     |-----------|----------|--------------| 
     | Alin  | 3,00,000 | Manager  | 
     | Roy  | 2,75,000 | Php Developer| 
     +-----------+----------+--------------+ 

這裏的關鍵詞姓名,名稱和工資是從的Excel數據庫牽強並動態改變。 假設用戶選擇alin然後在pdf格式的名字被alin替換並且工資和名稱分別被替換爲3,00,000和manager。

我的問題是,我是新的iText我無法找到如何搜索和替換這些關鍵字的方式。 任何幫助表示讚賞。

+1

你有一個PDF表格,但你不告訴我們是哪一種類型:它是一個AcroForm,一個XFA表單,還是一個靜態的PDF(在這種情況下,你沒有表單)。另外:目前還不清楚您是否在問如何從Excel中獲取數據或如何填寫PDF表單。請澄清! –

+1

正如布魯諾所問,你究竟擁有什麼?此外,您如何靈活地改變需求?例如。如果目前您的* pdf表格實際上不是表格,而是帶有一些文本佔位符的簡單PDF,是否可以用實際的PDF表格替換? – mkl

回答

2

我不會認爲iText是我的首選技術。

我會爲XSL-FO使用Velocity模板,用動態數據填充它,生成XSL-FO,然後使用標準XSL-T引擎將其轉換爲PDF。捲土重來,但有效。或者,如果你想堅持iText軌道,只要找出如何在Java對象中進行替換並以這種方式生成表單即可。

我不會推薦Excel作爲「數據庫」。

+0

Excel不好,但是是客戶的要求。我不知道XSL-FO。它是開源的嗎? – newBrain

+0

這是一個W3C標準。 JDK內置的XSL-T引擎可以將它變成PDF格式。至於Excel,你需要更聰明的客戶。 – duffymo

+0

對於不瞭解表格如何工作的iText新手,學習XSL:FO將是地獄...... –