【发布时间】:2018-09-13 04:25:37
【问题描述】:
我有一个包含文本和图像的 Word 文档。当我阅读此文档并将内容写回另一个文档时,图像丢失。 我如何也可以复制图像?
例子:Word文档有
将内容写入其他文档后,输出为
代码示例:
object missing = System.Reflection.Missing.Value;
object filename = "C:\\SampleInput.docx";
Microsoft.Office.Interop.Word.ApplicationClass AC = new Microsoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
object readOnly = false;
object isVisible = true;
doc = AC.Documents.Open(ref filename, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref isVisible, ref missing, ref missing, ref missing);
string inputText = doc.Content.Text;
Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application();
winword.ShowAnimation = false;
winword.Visible = false;
Microsoft.Office.Interop.Word.Document document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing);
document.Content.SetRange(0, 0);
document.Content.Text = inputText;
object outputPath = @"c:\FormattedOutput.docx";
document.SaveAs2(ref outputPath);
document.Close(ref missing, ref missing, ref missing);
document = null;
winword.Quit(ref missing, ref missing, ref missing);
winword = null;
【问题讨论】:
-
我同意 RIch 的建议。但是你的代码有问题。不要不要使用
AC和doc的结构; not 实例化为Application.Class并且在 Word 文档的声明中not 使用=new Word.Document。这些可能会在某些时候导致各种奇怪的问题。改用winword和document的结构。请注意,您不需要两个文档的Word.Application实例。启动一个实例并将其用于两个文档。