关于在线预览word,excel,ppt,pdf的需求处理方法。

时间:2023-03-09 01:58:10
关于在线预览word,excel,ppt,pdf的需求处理方法。

参考文档:http://www.cnblogs.com/wolf-sun/p/3574278.html

我选用的方案:先用office com组件生成pdf,然后使用pdf.js在线预览pdf文档。在自己写demo的过程下遇到如下两个问题,在此记录一下,希望能帮助到遇到同类问题的兄弟姐妹们。

1.在服务器上安装Office Plus 2010后,使用其com组件生成pdf时出现权限错误


System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

解决方法有:

方法1.在web.config中配置identity

<system.web>
  <authentication mode="Forms">
    <forms name="_AuthUserKey" cookieless="UseCookies" protection="All" path="/" loginUrl="~/Account/Login" defaultUrl="~/Website/Home/Index">
    </forms>
  </authentication>

<authorization>
    <deny users="?" />
  </authorization>
  <identity impersonate="true" userName="wdeploy" password="123"/>

方法2.配置DCOM

控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档
之后
单击属性打开此应用程序的属性对话框。 
2. 单击标识选项卡,然后选择交互式用户。
3.单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后
自定义->编辑->添加ASP.NET账户和IUSER_计算机名
* 这些帐户仅在计算机上安装有 IIS 的情况下才存在。
4. 确保允许每个用户访问,然后单击确定。
5. 单击确定关闭 DCOMCNFG。

如果在组件服务中就看不到Microsoft Offfice Word,则需要重新安装OFFICE。

2.WORD Application.Documents.Open函数返回null的一种解决方法


DCOM Config Setting for "Microsoft Office Word 97 - 2003 Document" 内部配置一切正常,但调用Application.Documents.Open函数还是返回null。下面是一个解决方法:

"C:\Windows\SysWOW64\config\systemprofile\"目录下创建一个"Desktop"目录。