我正在尝试将docx文件转换为pdf,并且我已成功在我的本地电脑上转换pdf。
我在visual studio 2010
中遵循的步骤是
click on Add reference --> Click to COM -->select "Microsoft Word 12.0 Object Library" and cliked ok
我的网页配置被修改并添加了程序集
<add assembly="Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"/>
我将用于将doc转换为pdf的.cs代码是
using Microsoft.Office.Interop.Word;//Name Space
protected void Page_Load(object sender, EventArgs e)//Coading on page load
{
Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();
wordDocument = appWord.Documents.Open(Server.MapPath("~/convert/goodquest.docx"));
wordDocument.ExportAsFixedFormat(Server.MapPath("~/convert/goodquest.pdf"), WdExportFormat.wdExportFormatPDF);
}
public Microsoft.Office.Interop.Word.Document wordDocument { get; set; }
所有works fine in local
,但当我upload
web
时所有这一切都发生了变化。
错误,例如
Could not load file or assembly 'Microsoft.Office.Interop.Word, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.
正在出现。 我该如何解决这个问题
我还尝试从链接Here下载“Microsoft Office 2010:主互操作程序集可再发行组件”,但是当我按照我的步骤将它转换为“Version = 12.0.0.0”到“Version = 14.0.0.0”时之前已经告诉过你“点击添加参考 - &gt;点击COM ........”
答案 0 :(得分:3)
将Microsoft.Office.Interop.Word.dll
复制粘贴到服务器中的bin文件夹中。
可以在此路径中添加
%ProgramFiles%\Microsoft Visual Studio 12.0\Visual Studio Tools for Office\PIA\
但我不知道是否正确:更多详情请参阅此MSDN链接
否则,您可以下载此dll:https://stackoverflow.com/a/6309218/2218635
答案 1 :(得分:0)
您是否已将DLL(Microsoft.Office.Interop.Word)复制到可执行路径?
您必须将此DLL复制到本地路径,否则必须在此服务器上安装Microsoft Office。
查看错误,似乎应用程序无法在指定路径中找到该文件。
默认情况下,应用程序会先将DLL找到GAC,然后再找到本地路径。还有其他原因,比如版本不同,在这种情况下你也会得到类似的错误。
答案 2 :(得分:0)
你错过了dell版本。
请下载正确的dll版本。
答案 3 :(得分:0)
在C#Projects中使用Word的正确程序是:
using
部分如果您的PC中安装了Office(Word),则第一步将起作用。如果没有那么安装。然后添加对所需版本的Microsoft.Office.Interop.Word
的引用。
一个。如果列表没有显示所需的版本,那么您可能有另一个Office安装Word的愿景。通过The Way,你可以使用任何。
湾如果找不到Microsoft.Office.Interop
之类的内容,那么可能是未安装办公室,或者您拥有Office 2013或更高版本。对于更高版本,您可以通过进入添加引用窗口的 COM 选项卡添加程序集并添加Microsoft Word {version-no} Object Library
。这将添加相同的内容。
℃。如果您在参考文献中已经使用黄色三角形标记Microsoft.Office.Interop...
,请先将其删除。
之后第二步将完全奏效:using Word=Microsoft.Office.Interop.Word;
最后,作为第三步,您可以按Word.Application wApp = new Word.Application();
创建Word对象。