转换没有Office的Office文档

时间:2010-05-04 13:53:31

标签: c# ms-office

我们需要将所有MS Office文档转换为PDF,TIFF或任何类似的图像格式,而不会丢失格式(这些是无法篡改的官方文档)。

如果没有在可以执行此操作的计算机上安装Office,是否有任何方法可以执行此操作?理想情况下,这将在服务器上运行并运行多线程,而无需Office Automation的开销。

2 个答案:

答案 0 :(得分:3)

您可以使用Aspose.NET等第三方库进行文档转换,但我担心 - 如果高保真渲染至关重要 - 则无法使用原始应用程序。

Microsoft Office提供了一个转换器API,允许在没有安装Office的情况下进行转换。但是,您不仅可能面临许可证问题(IANAL),此API仅支持不需要呈现文档的文本处理格式的转换(例如RTF - > DOC,DOC - > DOCX),因此它是不是你的选择。

更新:可能最好的选择是查看SharePoint 2010转换引擎,该引擎完全用于自动(服务器端)文档转换。它虽然很重(硬件和价格都很高)所以对你的用例来说可能有点过分了。

答案 1 :(得分:0)

如果此应用程序将在专用计算机上运行(即该计算机的唯一工作是转换巨大的Office文档集合),您最安全的选择可能是以单线程方式使用Office自动化并让应用程序愉快一次转换一个文件。多线程Office Automation应用程序可能会以更快的整体速率(特别是在多核处理器上)转换文档,直到服务器崩溃。

Office Open XML是一种非Office自动化替代方案,但由于我目前正在努力在导出到相对较小的Excel文件(~1MB)时产生OutOfMemoryException错误,我不能真正推荐它