代码之家  ›  专栏  ›  技术社区  ›  Eric Pohl

在ASP.NET中将MS Word文档转换为PDF格式[已关闭]

  •  18
  • Eric Pohl  · 技术社区  · 17 年前

    有人问过类似的问题,但没有一个和我的完全一样的问题,所以这里是。

    我们在ASP.NET Web服务器上有一个Microsoft Word文档集合,其中包含合并域,合并域的值是由用户表单提交结果填写的。字段合并后,服务器必须将文档转换为PDF并流式传输到浏览器。我们的第一个倾向是使用Visual Studio Tools for Office API;但是,我们遇到了 this warning from Microsoft :

    Microsoft目前不建议也不支持从任何无人值守、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)中自动化Microsoft Office应用程序,因为在此环境中运行Office时,Office可能会出现不稳定的行为和/或死锁。

    看起来可以使用 Open XML SDK 但是,在不打开Word的情况下,将Word 2007文档转换为PDF文件的最佳方法是什么?最佳解决方案是低成本、可扩展、内存占用量低、易于部署和具有.NET API。

    8 回复  |  直到 14 年前
        1
  •  12
  •   Anjisan    17 年前

    它不完全是开源的,但是Aspose有几个产品可以做到这一点,

    Aspose.Pdf.Kit

    ApPosi.pdf.KIT是一个非图形的PDF®文档操作组件,它使.NET和Java开发人员既能管理现有的PDF文件,又能管理嵌入在PDF文件中的表单字段。pdf非常适合创建新的PDF文件;但是,开发人员通常需要编辑已经存在的PDF文档。aspose.pdf.kit允许他们这样做。aspose.pdf.kit允许开发人员创建强大的应用程序,用于将数据直接合并到PDF文档中,以及更新和管理PDF文档。aspose.pdf.kit是一款非常棒的产品,它与我们的其他PDF产品配合使用非常好。

    Aspose.pdf

    Aspose。PDF是一个非图形的PDF®文档报告组件,它使.NET或Java应用程序能够在不使用Adobe AcROAT®的情况下从头开始创建PDF文档。pdf的价格非常实惠,提供了大量强大的功能,包括:压缩、表格、图形、图像、超链接、安全性和自定义字体。pdf支持通过api、xml模板和xsl-fo文件创建pdf文件。aspose.pdf非常容易使用,提供了14个用C和VisualBasic编写的功能齐全的演示。

    退房 API demos . 你可以免费下载一个DLL来试用它。我以前都用过,而且效果很好。

    还有 iTextSharp 这是一个iTXT的C端口,一个Java PDF转换器。我听说有人用混合的方法来尝试。

        2
  •  12
  •   romeok    16 年前

    问题是“MS Word文档在ASP.NET中转换为PDF”,所以我很困惑为什么上面推荐aspose.pdf和aspose.pdf.kit。你需要使用 Aspose.Words 因为这是支持将Microsoft Word文档转换为PDF的组件。

        3
  •  4
  •   Grant Wagner    17 年前

    在上签出Microsoft的资源 Saving Word 2007 Documents to PDF and XPS Formats 使用C或VB。

        4
  •  1
  •   Fabrizio Accatino    17 年前

    激活的PDF-DocConverter- http://www.activepdf.com/

    但它需要在服务器上安装Office才能实现高质量的转换。

        5
  •  1
  •   Sowmyanarayan    16 年前

    您应该尝试使用OpenOffice。它是免费的,支持一系列的文件转换。我使用它将Doc&Docx文件转换为HTML格式,效果非常好。

        6
  •  1
  •   Kitty Zheng    16 年前

    abcpdf是另一个流行的组件,它允许您在ASP.NET下将Word文档转换为PDF,但是我相信它也使用了Microsoft Office或OpenOffice。

    http://www.websupergoo.com/abcpdf-office-docs.htm

        7
  •  0
  •   Jeroen Ritmeijer    16 年前

    单词可能是你最好的选择,但它不能完美地转换所有视觉元素。

    看看 Muhimbi PDF Converter Web Services . 它在Windows上作为服务运行,但可以从任何非Windows Web服务环境(包括Java和.NET)访问。

    尽管此解决方案要求在服务器上安装MS Office(不一定与应用程序的服务器相同),但它非常健壮,并提供完美的转换保真度。为了解决微软在其知识库文章中提到的死锁问题,微软付出了巨大的努力。

    要生成或修改MS Word文件,我建议使用 Open XML SDK for Microsoft Office . 埃里克·怀特保持着 really good Blog 关于它。

    免责声明,我研究过这个产品。这么说,效果很好。

        8
  •  0
  •   Saber    14 年前

    Microsoft PDF Word加载项目前似乎是最好的解决方案,但您应该考虑到它不能正确地将所有Word文档转换为PDF,在某些情况下,您会发现Word和输出PDF之间存在巨大差异。不幸的是,我找不到任何能够正确转换所有Word文档的API。我找到的唯一确保转换100%正确的解决方案是通过打印机驱动程序转换文档。缺点是文档排队并逐个转换,但您可以确保生成的pdf与docuemtn一词完全相同。我个人更喜欢使用UDC(通用文档转换器)并在服务器上安装Foxit Reader(免费版本),然后通过启动“进程”并将其动词属性设置为“打印”来打印文档。还可以使用FileSystemWatcher在转换完成时设置信号。

    推荐文章