word转换为HTML,本地测试可以,请问放服务器上为什么无法使用

Qcontriver 2012-07-29 11:37:54

public void wordchangetohtml(string sourcepath, string htmlpath)
{
try
{
Word.ApplicationClass word = new Word.ApplicationClass();
Type wordType = word.GetType();
Word.Documents docs = word.Documents;
// 打开文件
Type docsType = docs.GetType();
object fileName = sourcepath;
Word.Document doc = (Word.Document)docsType.InvokeMember("Open",
System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { fileName, true, true });

// 转换格式,另存为
Type docType = doc.GetType();
object saveFileName = htmlpath;
///wdFormatUnicodeText
docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFileName, Word.WdSaveFormat.wdFormatHTML });
// 退出 Word
wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
}
catch (Exception EX)
{

throw EX;
}
}



<identity impersonate="true" userName="administrator" password="1"/>这个我已经设置了!
...全文
220 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2012-07-29
  • 打赏
  • 举报
回复
你这些相关的Wrod类所依赖的底层组件在服务器上是否有安装
就好像你本地装了word能打开word文件,但服务器没有安装word,你把word文件传到服务器,想在服务器端打开,你觉得能打开吗?
Qcontriver 2012-07-29
  • 打赏
  • 举报
回复
已经解决。
在网上找的:网址:http://blog.sina.com.cn/s/blog_852ca01901016lyz.html
远程调用Excel、Word、PowerPoint,服务器端设置(2012-06-26 15:34:22)
1. 在运行中敲入DCOMCNFG,在左边找到Console RootàComponent ServicesàComputersàMy ComputeràDCOM Config;在右边找到(1)Microsoft Excel Application{00020812-0000-0000-C000-000000000046}(2)Microsoft Office PowerPoint 投影片{048EB43E-2059-422F-95E0-557DA96038AF}(3)Microsoft Office Word 97 - 2003 文件{00020906-0000-0000-C000-000000000046}这三项;在这三项的属性中找到Security选项卡,对该选项卡下的三组单选项分别选择CustomizeàEdit,添加Everyone和ASPNET的控制权限;如果程序运行过程还是有问题,则在这三项的属性中找到Identity选项卡,选择This User设置访问用户和密码。(注意:这一步一般不需要设置,实在有问题时才考虑)

2. 如果是在64位系统上面操作,组件服务中DOCOM中默认是没有的,因为Microsoft Excel Application是32的DCOM配置,所以通过如下方式解决

1)开始--〉运行--〉cmd
2)命令提示符下面,输入mmc -32,打开32的控制台
3)文件菜单中,添加删除管理单元--〉组件服务
4)在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
5)点击"标识"标签,选择"交互式用户"
6)点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
7)依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
8)重新启动IIS,测试通过
Qcontriver 2012-07-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

你这些相关的Wrod类所依赖的底层组件在服务器上是否有安装
就好像你本地装了word能打开word文件,但服务器没有安装word,你把word文件传到服务器,想在服务器端打开,你觉得能打开吗?
[/Quote]
已经安装了,在服务器端测试也可以通过,就是远程连接服务器时不行

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧