【问题标题】:How can I create new PDF files based on a template where some text will be replaced?如何基于将替换某些文本的模板创建新的 PDF 文件?
【发布时间】:2010-05-21 03:08:22
【问题描述】:

我正在使用 WebForms 在 ASP .Net 中开发 CMS 应用程序,我正在寻找一种基于模板创建新 PDF 文件的方法。

此功能将用于生成合同,其中一些占位符将替换为客户数据。

最好的方法是什么?

已编辑:模板将是静态的,主要内容永远不会因客户而异,只有开头的一些文本将包含占位符以接收客户数据。问题是我必须允许应用程序的所有者以 PDF 格式上传新模板,其中包含预先确定的占位符才能进行替换。

【问题讨论】:

  • PDF 模板?我相信PDF本质上是不可编辑的,充其量它们允许表格,可以填写和打印,但不能保存。您可能需要重新考虑设计。

标签: asp.net pdf webforms


【解决方案1】:

根据您正在查看的模板类型,我可以想到两种方法:

1) 静态模板 - 假设模板不随数据而变化(例如某些标准合规表格等) 您可以尝试iTextSharp 之类的方法,您可以在 .net 代码中定义模板,然后只需“插入”相关数据并通过 iTextSharp 呈现 PDF。

2) 动态模板 - 假设您的模板不是标准的并且是用户可自定义的。在这种情况下,我会说使用 HTML 进行设计并将其“打印”为 PDF。有许多可用的组件。

您可能还想尝试水晶报表等组件。

【讨论】:

    【解决方案2】:

    我会使用包含替换标记的静态 HTML 模板,例如{FullName} 然后您可以将其替换为您的数据。一旦您创建了这样的 HTML 文件,例如在 StringBuilder 中,您可以使用 PrinceXML 或 ABCPdf.net (www.websupergoo.com) 将您的 HTML 转换为 PDF。

    【讨论】:

      【解决方案3】:

      我希望我能正确理解这一点,但不会使用标准 PDF 表单域为您提供所需的功能和特性。将 PDF 模板加载到 Adob​​e Acrobat Full 或 Foxit Phantom 并在 PDF 顶部定义标准 PDF 表单域。每个字段都有名称、位置、字体等。

      然后只需使用标准 PDF 库来填写 PDF 表单域并在需要时“展平”表单域。

      此解决方案允许客户设计新的 PDF 布局,只要他们定义名称匹配的表单字段,您就可以使用简单的文件副本放入替换表单。

      iText 或 iTextSharp 库应该能够轻松完成所有这些工作。如果不是他们,那么有很多 PDF 库可以。

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 1970-01-01
        • 2021-10-01
        • 2016-03-20
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 2013-08-10
        • 2014-08-24
        相关资源
        最近更新 更多