Если Вы можете открывать файлы pdf на компьютере, значит есть возможность распечатать их программно. Для этого можно воспользоваться параметрами командной строки приложения Acrobat Reader:
/o | Не открывать диалоговое окно приложения |
/h | Открыть приложение и свернуть на панели задач |
/p <filename> | Открыть файл в приложении и сразу перейти к диалоговому окну печати |
/t <filename> [<printername> [<drivername> [<portname>]]] | Распечатать файл на указанном принтере |
С учетом этого командная строка печати pdf-документа из 1с будет выглядеть так:
<AcrobatReaderPath> /o /t <filename> <printername>
Для запуска составленной команды воспользуемся процедурой ЗапуститьПриложение(), т.к. она позволяет вызвать печать асинхронно (не дожидается завершения печати):
AdobeReader = Новый Файл("C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"); Если НаПринтер = Истина И AdobeReader.Существует() Тогда ЗапуститьПриложение("""" + AdobeReader.ПолноеИмя + """ /o /t """ + ФайлPDF.ПолноеИмя + """ """ + ИмяПринтера + """"); Иначе //просто открываем на просмотр средствами ОС ЗапуститьПриложение(ФайлPDF.ПолноеИмя); КонецЕсли;
Поделиться страницей в соц.сетях
Как задать настройки печати Альбомный. Почему-то по умолчанию печатает Книжный.
К сожалению, это проблематично. Можно попробовать в настройках программы, из которой получен данный документ PDF, указать альбомную ориентацию для страницы и сохранить файл. Возможно, после этого он будет печататься корректно. Либо, открывать файл в приложении методом ЗапуститьПриложение() и предлагать пользователю самому настраивать печатную форму и печатать документ.