Продолжая тему моих публикаций, связанных с работой с документами PDF из 1С, выкладываю еще одну учебно-показательную обработку, которая позволяет печатать файлы PDF в фоновом режиме. Платформа 1С внутренними средствами может лишь создать файл PDF из табличного документа, но если вы захотите такой файл напечатать, то придется этот функционал отдать на откуп стороннему приложению типа Adobe Acrobat Reader. Хорошо, если есть табличный документ-исходник - с ним можно делать что угодно: хоть печатать, хоть сохранять, а если в базе хранятся уже готовые файлы PDF (например, с отсканированными документами), да еще и печатать их нужно сразу массово?
Тогда на помощь придет процедура из данной обработки, на вход которой подается массив файлов PDF или массив структур с ключами "Имя" и "ПолноеИмя", соответствующих файлам на диске. К сожалению, обойтись без стороннего приложения не удастся и печатать мы будем через тот же самый Acrobat Reader, который должен быть установлен в системе, но зато делать это мы будем в "тихом" режиме для пользователя и сразу для большого количества файлов. Режим правда будет не совсем "тихий": акробатовские окна все-таки будут появляться и закрываться после отправки на печать. В принципе, есть возможность печатать без показа окон с использованием объекта "Shell.Application", но работать это будет при условии, что в системе приложением по умолчанию для работы с PDF установлен именно Acrobat Reader. Соответствующий закомментированный код есть в процедуре печати в модуле объекта - можно с ним поэкспериментировать.
Обработка, в принципе, не очень сложная: использует консольные возможности запуска акробата с ключами. Плюс в ней есть пара интересных процедур для работы с принтерами в системе: получение массива имен всех зарегистрированных принтеров в системе и получение двумя способами имени принтера, установленного по умолчанию.
Если файлы PDF будут большие и отправка на печать будет занимать длительное время, возможно понадобится изменить в бОльшую сторону максимальное время ожидания добавления задания в соответствующем реквизите на форме обработки (по умолчанию 10 секунд).
Обработка сделана на обычных формах. В управляемом приложении работать не будет, возможно адаптирую позже.