类似的问题已被问到,但没有什么像我的,所以这里.
我们在ASP.NET Web服务器上有一组Microsoft Word文档,其中包含合并字段,其值由用户表单提交填写.字段合并后,服务器必须将文档转换为PDF并将其流式传输到浏览器.我们的第一个倾向是使用Visual Studio Tools for Office API; 但是,我们遇到了微软的这个警告:
Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定的行为和/或Office在此环境中运行时出现死锁或死锁.
看起来可以使用Open XML SDK完成字段操作,但是在不打开Word的情况下将Word 2007文档转换为PDF的最佳方法是什么?最佳解决方案是低成本,可扩展,内存占用少,易于部署以及具有.NET API.
它不完全是开源的,但Aspose有几个产品可以做到这一点,
Aspose.Pdf.Kit
Aspose.Pdf.Kit是一个非图形化PDF®文档操作组件,它使.NET和Java开发人员能够管理现有PDF文件以及管理嵌入在PDF文件中的表单字段.Aspose.Pdf非常适合创建新的PDF文件; 但是,开发人员通常需要编辑已有的PDF文档.Aspose.Pdf.Kit允许他们这样做.Aspose.Pdf.Kit允许开发人员创建功能强大的应用程序,以便将数据直接合并到PDF文档中,以及更新和管理PDF文档.Aspose.Pdf.Kit是一款出色的产品,与我们的其他PDF产品配合使用.
和Aspose.pdf
Aspose.Pdf是一个非图形化的PDF®文档报告组件,它使.NET或Java应用程序能够从头开始创建PDF文档,而无需使用AdobeAcrobat®.Aspose.Pdf价格非常实惠,并提供丰富的强大功能,包括:压缩,表格,图形,图像,超链接,安全性和自定义字体.Aspose.Pdf支持通过API,XML模板和XSL-FO文件创建PDF文件.Aspose.Pdf非常易于使用,并提供了14个用C#和Visual Basic编写的全功能演示.
查看API和演示.您可以免费下载DLL来试用它.我之前使用过它们并且效果很好.
还有iTextSharp,这是一个Java PDF转换器iText的C#端口.我听说有些人尝试混合结果.
问题是"ASP.NET中的MS Word文档到PDF",所以我很困惑为什么Aspose.Pdf和Aspose.Pdf.Kit被推荐上面.您需要使用Aspose.Words,因为这是支持Microsoft Word文档到PDF转换的组件.