在项目中需要将Word文档转行成PDF,其中一个解决方案是在SharePoint服务器上装上Office 2007及以上版本,服务器端代码引用Microsfot.Office.Interop.Word dll用Office编程模型调用转行API接口实现。
但是在代码执行到实例化 Microsoft.Office.Interop.Word.Application时出现了异常,见一下截图:
因为代码提升了权限,是在应用池配置的标识权限下操作word的,应用程序标识配置如下:
标识是一个普通的域账号,因此需要配置相应的DCOM启动和激活权限,我们需要打开comexp.msc进行配置,注意,如果服务器上装的是32位版本,而服务器是64位的,需要用以下方式打开DCOM配置窗口,
因为我们还会遇到第二个问题,后文会提到。见以下截图,配置标识的权限
配置完之后继续运行代码,发现实例化Microsoft.Office.Interop.Word.Application通过了,但是在返回Document对象时却返回了NULL,
我们还需要设置一下,在DOCM配置窗口中找到Word一项配置为“交互式用户”。这样就不会出错了
希望这篇博客能给大家带来帮助。此解决方案同样适用于ASP.NET应用程序。 相关权限设置请下载文档。
![](/images/cnblogs_com/happyhzs2000/qsygsl.jpg)