2

Как напечатать файл pdf из 1с 8.3?

Если Вы можете открывать файлы 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.ПолноеИмя);
КонецЕсли;

Поделиться страницей в соц.сетях

Метки: Метки

2 комментария к записи “Как напечатать файл pdf из 1с 8.3?

  1. Как задать настройки печати Альбомный. Почему-то по умолчанию печатает Книжный.

    1. К сожалению, это проблематично. Можно попробовать в настройках программы, из которой получен данный документ PDF, указать альбомную ориентацию для страницы и сохранить файл. Возможно, после этого он будет печататься корректно. Либо, открывать файл в приложении методом ЗапуститьПриложение() и предлагать пользователю самому настраивать печатную форму и печатать документ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *