繁体   English   中英

c# 中 DOC 到 DOCX 的转换

[英]DOC to DOCX conversion in c#

我创建了一个将.doc文件转换为.docx的工具。 该代码在上个月之前运行良好。 现在,我们在 11 月 16 日进行了 Microsoft 365 升级,并发布了转换器工具无法正常工作的消息。 它在下面的行中抛出ComException

Word.Application wordApplication=new Word.Application();
var wordDocument=wordApplication.Documents.Open(loc);

任何人都可以请指导。

目前尚不清楚您在何时何地尝试在有问题的机器上自动化 Word。 但我认为它是在服务器端使用的......

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

如果您正在构建在服务器端上下文中运行的解决方案,您应该尝试使用已确保无人值守执行安全的组件。 或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。 如果您使用来自服务器端解决方案的 Office 应用程序,该应用程序将缺少许多成功运行所需的功能。 此外,您将承担整体解决方案稳定性的风险。

Office 服务器端自动化的注意事项文章中阅读有关此内容的更多信息。 作为一种可能的解决方法,您可以考虑使用为服务器端执行而设计的第三方组件。

您可以使用Spire.Doc而不是 Word interop 来实现 doc 到 docx 的转换。 它不依赖于 MS Office。 这是一个基本示例:

using Spire.Doc;

namespace DocToDocx
{
    class Program
    {
        static void Main(string[] args)
        {
            Document doc = new Document();
            doc.LoadFromFile("Sample.doc");
            doc.SaveToFile("Result.docx", FileFormat.Docx);
        }
    }
}

更多文档转换和操作,可以访问文档 免责声明:我为 Spire 工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM