Чтение текстового документа (текста и изображений) и вставка в другой текстовый документ - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть текстовый документ, содержащий текст и изображения. Когда я читаю этот документ и записываю содержимое в другой документ, изображения отсутствуют. Как я могу также скопировать изображения?

Пример: документ Word имеет

Word Document has following data

После записи содержимого в другой документ вывод будет выглядеть как

enter image description here

Пример кода:

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;

1 Ответ

0 голосов
/ 12 сентября 2018

Вы должны использовать свойство Range.FormattedText.Другими словами, с открытыми исходными и целевыми документами и установленными диапазонами команды будут выглядеть следующим образом ...

DestinationRange.FormattedText = SourceRange.FormattedText;

Ваш текущий код только собирает простой текст и сохраняет его в строковой переменной.Строковая переменная не может содержать объекты изображения.

...