我有一个MVC网站,允许用户上传word文档,然后转换为PDF。这部分工作正常。但是,当在浏览器中内嵌查看PDF文档时,文档顶部显示"错误!未知文件属性名称"。我知道这可能是一个或多个文档属性未设置的结果,但我无法通过Interop返回的Document对象获取任何属性。
我将上传的word文档的字节流保存到临时目录,以方便PDF转换。 "文件"作为参数传递。
using (var tmpFileStream = File.OpenWrite(fileSavePath))
{
tmpFileStream.Write(file.BinaryBytes, 0, file.BinaryBytes.Length);
tmpFileStream.Close();
}
然后我打开文档,但是当我试图获取属性和/或字段时,我得到的是" COM对象"作为价值。
var applicationWord = new Application();
var wordDoc = applicationWord.Documents.Open(fileSavePath);
var properties = wordDoc.BuiltInDocumentProperties;
var title = properties.Item("Title");
var author = properties.Item("Author");
我还试图遍历Fields系列,看看这里有什么东西,但也没有喜悦。
foreach (var field in wordDoc.Fields)
{
var x = field.ToString();
}
我还手动设置目标单词文档的属性,例如标题,作者,但我仍然有同样的错误。
如果有人有任何想法或者可能已经解决了这个问题,那么我将非常感激。