Мне необходимо напечатать файл заданных форматов (doc, docx, pdf, rtf и txt) на программном сетевом принтере, однако я не могу легко найти способ распечатать эти документы.
Я уже попробовал File.Copy()
, но это не удалось - принтер не справился с работой.Я попробовал этот метод на реальном принтере и получил искаженный текст, так что это явно не сработает.
Я также пробовал Word Interop, однако у меня было много проблем, даже пытаясь получить этоработать, с исключениями DCOM, выбрасываемыми повсеместно.Я не буду пытаться продолжить этот путь.
var word = new Microsoft.Office.Interop.Word.Application { Visible = false };
var doc = word.Documents.Open(file.FullName, Visible: false);
doc.Application.ActivePrinter = @"\\server01\printer01";
doc.PrintOut(Pages: "1");
doc.Close();
break;
^ Сбой в строке один со следующей ошибкой:
"Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE))."
Я не пробовал Process.Start
, используя глагол Print
, так как вы не можете указать конкретный принтер.
Как мне легко распечатать эти файлы, желательно без необходимости покупки третьегопрограммное обеспечение?