我尝试打开.docx文件并使用Interop.Word.Application转换为PDF。它作为控制台应用程序工作,但如果我在我的Web应用程序中使用相同的,它不工作。我尝试查看文件夹上的权限。我给了“网络服务”完全控制,但我仍然得到对象引用没有设置在word.Documents.Open。你能让我知道什么可能的问题吗?我坚持这个错误。请让我知道。我感谢任何建议。谢谢。
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
object oMissing = System.Reflection.Missing.Value;
word.Visible = false;
word.ScreenUpdating = false;
string fileName = @"c:\OUTPUT\test.docx");
Document doc = word.Documents.Open(filename, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
doc.Activate();
7条答案
按热度按时间xxls0lw81#
如果你还在寻找答案,我已经找到了它刚才为我的项目。
打开DCOM配置设置:
1.开始-〉x1月1x
1.计算机
1.本地计算机
1.配置DCOM
1.搜索
Microsoft Word 97-2003 Documents
-〉属性标签
Identity
,从Launching User
变更为Interactive User
rqmkfv5c2#
试试这个,它可能对你有帮助。
在中创建新的“Desktop”目录
在漫长的一天寻找解决方案后,它对我很有效。
好像是侧写的问题。
sdnqo3pr3#
我做了以下步骤,它工作正常:
**编辑于2019-09-29。**由于一个大的windows更新,我不得不重新做一遍确切的进度。
ou6hu8tu4#
为了解决这个问题,我必须同时做两件事:
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft \Windows\INetCache
C:\Windows\System32\config\systemprofile\Desktop
如果由于使用不同的语言而难以找到DCOM项,可以执行以下操作:
1.开始菜单〉
regedit
1.导航到
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{00020906-0000-0000-C000-000000000046}
RunAs
Interactive User
您可以在AppID
{00020812-0000-0000-C000-000000000046}
上对Excel执行相同的操作。voase2hg5#
这对我很有效https://social.msdn.microsoft.com/Forums/en-US/0f5448a7-72ed-4f16-8b87-922b71892e07/word-2007-documentsopen-returns-null-in-aspnet。
如果这对你有帮助,请回答
yiytaume6#
正如Paulie在他对OP的评论中所说,我认为这个问题主要是因为Web服务器上的库,你可能可以通过黑客攻击让它在Web应用程序上工作,但我建议不要这样做。
编辑:啊,我误读了这篇文章,以为是Excel。这是大多数人在使用Office时所追求的。)
有一个开放库可以处理DocX格式(enter link description here)。* 不幸的是 * 他在页面上承认,如果没有Office,转换到PDF这样的格式几乎是不可能的。互操作库(http://cathalscorner.blogspot.com/2009/10/converting-docx-into-doc-pdf-html.html)
Here是一个“有前途的”替代品,但YMMV。
u4dcyp6a7#
很有可能你的web服务器上有一个不同的word dll,也许是一个旧的,我建议你引用一个特定的dll并将其复制到web服务器上,这样你就可以确定你使用的是和你测试代码时使用的是同一个word dll,并且你知道它能工作,使用interop时可能会有一些问题,然而,word interop是唯一一个你可以确信会最正确地转换word文件的程序。