Внешняя компонента печати PDF (Native Win 32/64)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ.
Прекрасно работает на сервере, тонком клиенте и веб-клиенте.
Основана на проекте PDFium из состава проекта Chromium/Chrome

Общее описание

Отлично подходит для печати прикрепленных файлов в формате PDF, а также печатных форм, есть возможность загрузки PDF из двоичных данных, позволяет показывать диалог печати с установкой диапазона страниц и количества копий или же задавать принтер и диапазон страниц непосредственно в вызове.

Для подключения компоненты используются стандартные методы УстановитьВнешнююКомпоненту() на Клиенте в синхронном режиме, ПодключитьВнешнююКомпоненту() на Сервере или на Клиенте в синхронном режиме, и НачатьУстановкуВнешнейКомпоненты() и НачатьПодключениеВнешнейКомпоненты() на Клиенте в асинхронном режиме вызовов.

Перед началом работы на стороне клиента в асинхронном режиме необходимо вызвать установку компоненты:

НачатьУстановкуВнешнейКомпоненты(ОбработчикРезультата, АдресКомпоненты);

Далее необходимо ее подключить и можно вызывать ее методы:

НачатьПодключениеВнешнейКомпоненты(ОбработчикРезультата, АдресКомпоненты, "PrintPDF");

Примерный код использования компоненты на стороне Клиента в асинхронном режиме может выглядеть так:

Перем мКомпонента;

&НаКлиенте
Процедура Печать(Команда)

Если мКомпонента = Неопределено Тогда
УстановитьКомпоненту(
Новый ОписаниеОповещения("ПечатьПродолжение", ЭтотОбъект));
Возврат;
КонецЕсли;

ПечатьПродолжение(Истина, Неопределено);

КонецПроцедуры

&НаКлиенте
Процедура ПечатьПродолжение(КомпонентаПодключена, ДополнительныеПараметры) Экспорт

Если НЕ КомпонентаПодключена Тогда
Возврат;
КонецЕсли;

Если мКомпонента = Неопределено Тогда
мКомпонента = Новый("AddIn.PrintPDF.PrintPDFAddInExtension");
КонецЕсли;

мКомпонента.НачатьВызовПечать(Новый ОписаниеОповещения("ПечатьЗавершение", ЭтотОбъект),
ИмяФайла, Описание, ПоказыватьДиалогПечати, Принтер, Пароль, Страницы);

КонецПроцедуры

&НаКлиенте
Процедура ПечатьЗавершение(РезультатВызова, ПараметрыВызова, ДополнительныеПараметры) Экспорт

КонецПроцедуры

&НаКлиенте
Процедура УстановитьКомпоненту(ОбработчикРезультата) Экспорт

Обработчик = Новый ОписаниеОповещения("УстановитьКомпонентуЗавершение", ЭтотОбъект, ОбработчикРезультата);

НачатьУстановкуВнешнейКомпоненты(Обработчик, АдресКомпоненты);

КонецПроцедуры

&НаКлиенте
Процедура УстановитьКомпонентуЗавершение(ОбработчикРезультата) Экспорт

НачатьПодключениеВнешнейКомпоненты(ОбработчикРезультата, АдресКомпоненты, "PrintPDF");

КонецПроцедуры

Есть возможность вызова компоненты из внешней обработки, чтобы не снимать типовую конфигурацию с поддержки, рабочий код использования компоненты представлен в обработке TestPrintPDF.epf (в обработке отсутствует компонента, поэтому ее нужно загрузить в макет после покупки).

Компонента работает как на x86, так и x86_64 платформах, в режиме Сервера, Тонкого клиента и Веб-клиента (для браузеров Firefox и Chrome), распространяется в виде пакетного файла, который содержит в себе все версии компоненты.

Протестировано на всех версиях платформы, начиная от 8.2.19.130.

Методы:

Печать / Print — основной и пока единственный метод, отправляет файл на печать

Может вызываться как с передачей имени файла, так и двоичных данных

Параметры при передаче имени файла:
ПутьКФайлу — обязательный, тип "Строка", полный путь к файлу PDF
Описание — обязательный, тип "Строка", описание задания печати
ПоказыватьДиалогПечати — необязательный, тип "Булево", определяет показывать диалог печати или нет, значение по умолчанию — Ложь
ИмяПринтера — необязательный, тип "Строка", имя принтера, на который будет отправлен документ, если не определен, то печать осуществляется на принтер, установленный по умолчанию в система
Пароль — необязательный, тип "Строка", пароль для чтения защищенного PDF-файла
Страницы — необязательный, тип "Строка", диапазоны страниц для печати, разделенные запятыми (например "1,5,6", или "1-3,7-9", или "1,3-5")
Автоповорот — необязательный, тип "Булево"
Копий — необязательный, тип "Число", количество копий
ДвусторонняяПечать — необязательный, тип "Число", режим двусторонней печати:
 0 — использовать настройки принтера (по умолчанию);
 1 — односторонняя печать;
 2 — двусторонняя печать (поворот вверх);
 3 — двусторонняя печать (поворот влево);

Параметры при передаче двоичных данных:
Данные — обязательный, тип "ДвоичныеДанные", двоичные данные файла PDF
Описание — обязательный, тип "Строка", описание задания печати
ПоказыватьДиалогПечати — необязательный, тип "Булево", определяет показывать диалог печати или нет, значение по умолчанию — Ложь
ИмяПринтера — необязательный, тип "Строка", имя принтера, на который будет отправлен документ, если не определен, то печать осуществляется на принтер, установленный по умолчанию в система
Пароль — необязательный, тип "Строка", пароль для чтения защищенного PDF-файла
Страницы — необязательный, тип "Строка", диапазоны страниц для печати, разделенные запятыми (например "1,5,6", или "1-3,7-9", или "1,3-5"
Автоповорот — необязательный, тип "Булево"
Копий — необязательный, тип "Число", количество копий
ДвусторонняяПечать — необязательный, тип "Число", режим двусторонней печати:
 0 — использовать настройки принтера (по умолчанию);
 1 — односторонняя печать;
 2 — двусторонняя печать (поворот вверх);
 3 — двусторонняя печать (поворот влево);

 

Важно

В асинхронном режиме вызовы методов должны выполняться через НачатьВызов, например:

Компонента.НачатьВызовПечать(Новый ОписаниеОповещения("ПечатьЗавершение", ЭтотОбъект),
ИмяФайла, Описание, ПоказыватьДиалогПечати, Принтер, Пароль, Страницы);

 

Гарантия возврата денег

ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

Leave a Comment

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