【发布时间】:2015-05-23 14:20:12
【问题描述】:
我有以下代码可以将 docx 文件转换为 pdf
MSWord.Application app = new MSWord.Application();
MSWord.Document doc = app.Documents.Open("C:/temp/mydoc.docx");
doc.Activate();
doc.Save("c:/temp/mydoc.pdf", WdSaveFormat.wdFormatPDF); //also tried with doc.SaveAs2(...)
((MSWord._Document)doc).Close(WdSaveOptions.wdDoNotSaveChanges);
这在我的电脑上完美运行(Win7 64b 和 Office 2013)但是当我在客户端机器上运行它时(Win8 64b 和 Office 2013),它总是在执行@987654322 时显示一个文件对话框@ 或 doc.SaveAs2() 来电。文件对话框还默认使用 Docx 选项而不是 PDF 选项,导致用户必须手动选择它。
在文件对话框中单击“确定”时,PDF 已正确创建,但在 doc.Save() 或 doc.SaveAs2() 方法中仍会出现错误并显示“命令失败”消息。如果我将代码包装在 try-catch 中并在 finally 块中执行 doc.Close() 方法,我可以绕过错误,但这不是真正的解决方案(文件对话框仍然存在)。
有没有人知道什么可能导致文件对话框弹出?是 Win8 的行为吗?
【问题讨论】:
标签: c# .net pdf ms-word office-interop