Как преобразовать объект Interop.Word.Document в поток или байтовый массив? - PullRequest
1 голос
/ 27 января 2011

Я пытаюсь загрузить документ Word, созданный в памяти, в Sharepoint 2010, и похоже, что единственный способ сделать это - преобразовать его в байтовый массив или поток. Могу ли я в любом случае сделать это без , предварительно сохранив его на диск?

Ответы [ 2 ]

1 голос
/ 27 января 2011

эта ссылка: http://social.msdn.microsoft.com/forums/en-US/vsto/thread/84f1ac3f-f078-4087-a627-351d6bb57173/

предполагает, что правильный путь - либо

  • скопировать документ в буфер обмена, затем передать данные из буфера обмена или ...
  • читать документ Range XML.
0 голосов
/ 16 декабря 2014

Приведите документ к интерфейсу IPersistFile, а затем просто выполните метод «Сохранить (путь, ложь)»:

var iPersistFile = (IPersistFile)this.Application.ActiveDocument;
iPersistFile.Save("[path]",false);

Вся заслуга принадлежит этим парням:

http://blogs.msdn.com/b/pranavwagh/archive/2008/04/03/how-to-do-a-save-copy-as-in-word.aspx

https://social.msdn.microsoft.com/Forums/vstudio/en-US/84f1ac3f-f078-4087-a627-351d6bb57173/how-to-get-document-content-in-byte-array?forum=vsto

...