Используя следующее код
Код: Выделить всё
Application app = new Application();
_Document doc = app.Documents.Open("myDocPath.docx", false, false, false);
doc.PrintOut(false);
doc.Close();
Проблема заключается в том, что каждый раз, когда я запускаю вышеуказанное, коде запускается новый процесс WINWORD.exe, и, очевидно, он быстро съедает всю память.
Похоже, что класс приложения не содержит метода Dispose/Close или аналогичного метода. .
После небольшого исследования я (понял) и изменил код на следующий.
Код: Выделить всё
Application app = new Application();
_Document doc = app.Documents.Open(fullFilePath + ".doc", false, false, false);
doc.PrintOut(false);
doc.Close();
int res = System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
int res1 = System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
PS: Я использую версию 14 библиотеки Microsoft.Office.Interop.
Подробнее здесь: https://stackoverflow.com/questions/677 ... pplication
Мобильная версия