【问题标题】:Generate PDF document based on Word document基于Word文档生成PDF文档
【发布时间】:2026-02-20 23:50:01
【问题描述】:

我想在一个 ASP.NET MVC 应用程序中根据我用作模板的 word 文档生成文档(例如发票)。我创建了一个word文档:

一些修复数据:

  • 公司信息
  • 徽标
  • 总体布局

在特定位置添加一些数据:

  • 发票号码
  • 一个带有表格的部分,带有一些列(价格、数量、描述、增值税……)
  • 底部是含增值税和不含增值税的总额
  • 约会

在本文档中,我可以创建一种标签,例如<PDF:InvoiceNumber>,并将其替换为代码值,其他所有“标签”都一样

你知道我该怎么做吗?您是否尝试过另一种方式(欢迎提出建议)?我接受免费或商业使用 3rd control。唯一的限制是……我不想在服务器上安装 Microsoft Word。

谢谢,

【问题讨论】:

    标签: c# asp.net-mvc pdf-generation


    【解决方案1】:

    使用 iText 的 OSS .net 端口,iTextSharp(google 或 bing)。

    一般流程: 1) 创建现有 Word Doc 的 PDF 文件

    2) 使用 Acrobat(或类似工具)将 PDF 表单字段添加到文件中,作为您将在运行时插入到表单中的数据的占位符

    3) 使用 iTextSharp 的 PDF 表单填写 API,将数据插入 PDF 的表单域中

    4) 保存、打印、以流形式返回到客户端的浏览器和 PDF-mime-type 等生成的 PDF

    【讨论】:

    • 完全按照我的建议去做,是的,但作为替代。方法您也可以使用 iTextSharp 从头开始​​创建 整个 PDF(但这样做需要做更多的工作)
    【解决方案2】:

    我知道您不想在服务器上安装 MS-Word,但您可以考虑将它安装在单独的机器上,然后考虑this article 中的方法。它使用 Web 服务,干净高效。

    我写了这篇文章,所以通常的免责声明适用。

    【讨论】: