最近在做一个关于office转存PDF的Web项目。开发过程一切顺利。
起初在网上找到一些Word,PPT转PDF的代码。很好用。一切顺利项目开发成功。在这里需要说明一点,PPT中会存在流媒体内容,如果存在这些内容的时候是不能成功转换为PDF的。需要手动将相关内容删除后才可以转换。各位如果遇到些奇怪的问题的时候,希望检查下PPT中是不是存在这些内容。
项目开发结束,问题就来了。因为需要搭建测试环境。就拿手边一台防止的机器搭建了测试环境。WindowsXP+SP3、Office2010+.net开发包、.Net 4.0很顺利搭建完成。自己简单测试一下,没有问题。因为项目比较简单,没有什么特殊的逻辑。所以测试也很快通过了。
问题来了:
一周后项目演示,所以在自己的开发本本上搭建环境给客户演示。我的本本是Windows7 Professional+SP1,开发环境若干。直接安装好IIS7,将项目放到上面,发布依然很顺利。
打开网页,很漂亮的程序界面来了。登陆,OK;浏览附件,OK;上传附件,爆了。心里一惊怎么会这样呢?根据自己经验,这个是因为权限的问题,IIS用户不能使用office组件。只需要在DCOM里面调整下权限就ok了。
于是很从容的打开Component Services。一步一步的进行。走到最后的时候发现,DCOM里面竟然没有与office相关的所有组件。这下就乱了。想是不是因为office安装的问题呢?于是找出office2010安装盘,先卸载再安装……漫长的等待,终于安装完成了。依旧没有显示在里面。无数次的重启,还是没有显示在里面。
继续上网查资料,Google没有相应的结果,Baidu的结果更是答非所问。这个时候距给客户演示还有不到1天的时间,数据还没有添加。现在还遇到这样的问题!心都酥了。
——
各种查,各种找。
MMC进入到我的视线里面。通过这个终于解决此问题了。先简单说下,操作步骤(项目演示完成后,补上图):
Run
MMC -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Word Application
…
没错,看到了。终于松了口气。具体怎么设置DCOM权限,网络上很多。就不再多做描述了