2010-05-21 54 views
1

我正在使用WebForms開發ASP .Net中的CMS應用程序,並且正在尋找一種基於模板創建新PDF文件的方法。如何根據模板替換一些文本來創建新的PDF文件?

此功能將用於生成合同,其中一些佔位符將被客戶數據替換。

這樣做的最佳方法是什麼?

編輯:模板將是靜態的,主要內容永遠不會從客戶變爲客戶,只有一些文本在開始時會包含佔位符來收回客戶數據。問題在於,我必須允許應用程序的所有者以PDF格式上傳新的模板,並使用其中的預定義佔位符來允許進行替換。

+0

PDF模板?我相信,PDF本質上是不可編輯的,它們儘可能允許填充和打印,但不能保存。 您可能想重新考慮設計。 – 2010-05-21 03:21:28

回答

0

我可以取決於什麼類型的模板想到的兩種方法你正在尋找:

1)靜態模板 - 說的模板不與數據變化(Ex.some標準符合性形式等) 你可以嘗試像iTextSharp這樣的東西,在.NET代碼中定義了您的模板,並且您只需「插入」相關數據並通過iTextSharp呈現PDF。

2)動態模板 - 說你的模板不標準,用戶可以自定義。在這種情況下,我會說去HTML設計和「打印」爲PDF。有很多可用的組件。

您可能還想嘗試像水晶報告這樣的組件。

0

我會去靜態HTML模板包含替代標記,例如{FullName},然後您可以用您的數據替換。一旦你創建了一個像這樣的HTML文件,比如說在一個StringBuilder中,你可以使用PrinceXML或ABCPdf.net(www.websupergoo.com)將你的HTML轉換成PDF。

0

我希望我能夠正確地理解這一點,但不會使用標準PDF表單域爲您提供所需的功能和特性。將PDF模板加載到Adobe Acrobat Full或Foxit Phantom中,並在PDF上定義標準PDF表單域。每個字段都有一個名稱,位置,字體等。

然後,只需使用標準PDF庫填寫PDF表單字段,並在需要時填寫表單字段。

這個解決方案允許客戶設計新的PDF格式,只要他們定義了名稱匹配的表單域,那麼您就可以用簡單的文件副本放入替換表單。

iText或iTextSharp庫應該能夠很容易地完成所有這些工作。如果不是他們,那裏有許多PDF庫可以。