0
Dirk Diggler
25.04.20
✎
12:07
|
Как сделать? К документам прикреплены всякие файлы - jpg, pdf, xls.
Надо отсылать их на принтер без открытия диалогов и окон, т.к. документов много - десятки, сотни. Поэтому известная фишка
Shell = Новый COMОбъект("Shell.Application");
Shell.ShellExecute(ПолноеИмяФайла, "", "", "print", 0);
не подходит, т.к. открывает окно пользователю.
Для упрощения рассматриваю пока только один тип - pdf.
Какие еще есть варианты?
|
|
2
Dirk Diggler
25.04.20
✎
12:39
|
Разобрался. Придется разбирать файлы по расширению и печатать в зависимости от типа.
pdf - Foxit и Adobe Acrobat умеет печатать с командной строки.
изображения - irfanview и xnview
doc, xls - с пом. COM-объектов
&НаКлиенте
Процедура ПечатьDOCФайлов(ПутьКФайлу, ИмяПринтера = «»)
WordAppl = Новый COMОбъект(«Word.Application»);
WordAppl.Documents.Open(ПутьКФайлу);
WordAppl.Documents(ПутьКФайлу).Activate();
WordAppl.ActivePrinter = ИмяПринтера;
WordAppl.ActiveDocument.PrintOut();
WordAppl.ActiveDocument.close();
КонецПроцедуры
&НаКлиенте
Процедура ПечатьExcelФайлов(ПутьКФайлу, ИмяПринтера = «»)
ExcelAppl = Новый COMОбъект(«Excel.Application»);
ExcelAppl.Workbooks.Open(ПутьКФайлу);
ExcelAppl.ActiveSheet.PrintOut(,,,,ИмяПринтера);
ExcelAppl.WorkBooks.Close();
ExcelAppl.Quit();
КонецПроцедуры
|
|