Word转换成pdf在vs调试可以成功但发布到IIS上却失败

2023-10-03 13:35:44 百科 悟空

在本地VS进行调试时,均能够将office文档(包括PPT,excel,word)等文档实现转换为PDF文档,但一发布到window server 2008上后就不行啦。。。

分析原因:出现的情况,发现程序执行不报错,而且数据库的记录看是已经执行成功的,实在让人措不着头脑,再通过进入发布的WEB服务器进程管理器发现每执行一次转换就会生成一个word程序的进程,而且也不退出,这在开发环境下是没有出现过的。再也通过网上各种查找,什么改IIS程序池的进程模式里的标识,修改COM组件的用户都没有得到解决问题,实在有放弃的念头。但在修改组件时无意发现有个组件执行用户选项,当选择为“交互式用户”后,问题都得到解决了。

以下是方法:

 

步骤一:

1、由于server 2008 64位的系统因此需要进入32位的组件服务才能看到office的相关组件,在此点击"开始"-》“运行”,输入"mmc -32"。

2、在出现有对话框里点击“文件”菜单下的“添加/删除管理单元”菜单后,再出现的对话框中选择“组件服务”后点击“添加”按钮。

3、再依次展开"组件服务"->计算机——>我的电脑——》DDOM配置,找到word,excel和PPT的组件

 4、依次打开右键属性,依次将“标识”标签下的“选择运行此应用程序的帐户”设置为“交互式用户”,再进行测试,OK问题完美解决。

步骤二:

1.    确保服务器上已经安装office 软件和转化插件。

2.    在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

3.    组件服务 中 的计算机》我的电脑》DCOM配置中 找到  Microsoft Office Word 97 - 2003 文档  这个应用程序,右键属性。

4.    点击"标识"标签,选择"交互式用户" ,点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORKSERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

5.    依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORKSERVICE"用户,然后赋予"本地访问"权限.

6.    IIS对应程序的应用程序池设置。高级设置》标识设置为 : LocalSystem。

7.    ok,这样我们就配置完成了。重新发布运行,发现上传的word文档已经可以转换为pdf文档了

发表评论: