在本地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. 这样我们就配置完成了。重新发布运行,发现上传的word文档已经可以转换为PDF文档了。