2010-05-21 51 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库可以。