Библиотека печати на PDF принтер Bullzip для 1С 7.7

11.12.18

Интеграция - Периферийные устройства

В данной статье приведено несколько методов, которые позволят подключить PDF принтер Bullzip к своему проекту на платформе 1С Предприятие 7.7. Используя PDF принтер, вы сможете сохранять ваши табличные документы в формате PDF. Вы программно можете задавать имя PDF файла и его расположение на диске.

Зависимости проекта:

PDF принтер Bullzip: ссылка на сайт
GPL Ghostscript: ссылка на скачивание

Установка PDF принтера:

Скачайте с сайта разработчика bullzip.com PDF принтер и дополнительную компоненту GPL Ghostscript. Установите эти продукты по умолчанию на рабочем месте, где будет выполняться печать на PDF принтер. После установки, в системе Windows должен появиться PDF принтер Bullzip PDF Printer.

Настройте PDF принтер, для этого запустите программу управления принтером: Пуск - Программы - Bullzip - PDF Printer - Bullzip PDF Printer Настройки

На закладке Диалоги установите опции:

  • Диалог “Сохранить как” в значение Никогда
  • Диалог “Установки” в значение Никогда

и нажмите кнопки Применить и ОК.

Подключение библиотеки

1. Это для платформы 1С Предприятие 7.7

2. Скопируйте библиотеку в модуль формы, откуда будет производиться печать на PDF принтер.

3. В методе формы ПриОткрытии инициализируйте принтер с помощью метода ПринтерPDFПодключить(), например так:

бРезультатПодключения = ПринтерPDFПодключить();
Если бРезультатПодключения <> 1 Тогда
    Сообщить("На компьютере не установлен PDF принтер Bullzip",
    // Принтер не найден, наименование сбрасываем. Контролируется при печати
    м_ПринтерPDF = "";    
КонецЕсли;

4. Сформируйте табличный документ и отправьте его на печать с помощью метода ОтправитьДокументPDF(оТаблица, сКаталогПечати, сИмяФайла), например так:

bResult = ОтправитьДокументPDF(оТаблица, сКаталогПечати, сИмяФайла);
Если bResult = 0 Тогда
    Сообщить("Не удалось отправить на печать документ" + сИмяФайла);
КонецЕсли;

Параметры метода:

  • оТаблица - ТабличныйДокумент- документ который нужно напечатать на принтере
  • сКаталогПечати - Строка - Путь к каталогу, куда будет сохранен результирующий PDF файл документа. Каталог должен существовать. У пользователя должны быть права на запись в каталог.
  • сИмяФайла - Строка - Имя файла PDF документа. Можно с расширением ".pdf" или без расширения

Дополнительная информация

  1. Одновременно с принтером устанавливается и регистрируется COM объект, через который происходит установка параметров принтера.
  2. Документация по параметрам принтера и COM объекту находится на сайте biopdf.com

Полный код библиотеки:

 

или на GitHub

печать 77 PDF Bullzip

См. также

Управление светофором на автовесовой через USB-реле

Периферийные устройства Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Cистема управления светофором на автовесовой через USB-реле MP 709. Позволяет оператору автовесовой нажатием кнопки в 1С управлять светофором, разрешающим машине выехать с весов после фиксации в программе результата взвешивания.

1 стартмани

01.05.2015    17189    13    VShevelev    8    

11

Экономим на заправке картриджей принтера!

Периферийные устройства Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Клиент из торговой фирмы изъявил желание сэкономить на количестве заправок картриджа. Решение его проблемы? Смотрим код:

19.09.2010    3150    ig_infostart    8    

7

СД-Ром

Периферийные устройства Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

выдвигает лоток СД-Ром

08.09.2009    8652    Mucmepukc    5    

2

Работаем с последовательным портом (7.7.)

Периферийные устройства Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Абонемент ($m)

Пишем в порт, читаем из порта. Зная протокол обмена, сможем внешним устройством управлять. Например, ридером меток RFID.

1 стартмани

10.04.2009    17414    324    Арчибальд    8    

21

Печать на DATAMAX ч/з DPL (встроенный механизм принтера)

Периферийные устройства Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Печатать на datamax ч/з драйвер системы - долго. Есть внешние компоненты, но можно обойтись и средствами 1С. Обработка писалась для печати на удаленные принтеры при плохом канале связи (впн ч/з интернет).

08.04.2009    10468    25    rk    6    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. malev 92 12.12.18 14:23 Сейчас в теме
Не вижу преимуществ перед обычным виртуальном pdf принтером, например CutePDF.
2. CheBurator 3119 12.12.18 22:20 Сейчас в теме
(1) ну так это и есть тот же самый пдф-принтер. единственное - автор сделал готовые предустановки параметров для этого пдф-принтера в виде "методов"/процедур/функций 1С - что, несомненно, удобно
3. CheBurator 3119 12.12.18 23:24 Сейчас в теме
внутри метода хорошо бы реализовать авторазбор "оТаблица" - чтобы в параметро можно было передавать или табличный документ (моксель) или имя файла к мокселю
4. CheBurator 3119 12.12.18 23:41 Сейчас в теме
В функции ПроверитьКаталог()
поправить ТипЗнч на ТипЗначения
AKnyazkov; +1 Ответить
5. CheBurator 3119 12.12.18 23:43 Сейчас в теме
как прототип - сграбил себе в ГМ, мпасибо
6. alexeyburtsev 44 11.02.20 22:42 Сейчас в теме
7. Infector 199 17.04.20 12:20 Сейчас в теме
Господа, подскажите кто знает, как управлять форматом файла (т.е. указать вместо PDF JPG / PNG и т.д.)?
8. infosoft-v 871 17.04.20 13:03 Сейчас в теме
9. Infector 199 17.04.20 19:10 Сейчас в теме
(8)есть такое дело. Для ленивых:
Параметр Device
Значения:
"bmpmono", "bmpgray", "bmpsep1", "bmpsep8", "bmp16", "bmp256", "bmp16m", "bmp32b", "epswrite", "pswrite", "psraw", "jpeg", "jpeggray", "pcxmono", "pcxgray", "pcx16", "pcx256", "pcx24b", "pcxcmyk", "pngmono", "pnggray", "png16", "png256", "png16m", "pngalpha", "tiffgray", "tiff12nc", "tiff24nc", "tiff32nc", "tiffsep", "tiffcrle", "tiffg3", "tiffg32d", "tiffg4", "tifflzw", "tiffpack", "pdfwrite", "docwrite"

Параметры управления разрешением:

Res
ResX
ResY
SuperimposeResolution
10. user977372 05.11.20 23:36 Сейчас в теме
Приветствую!

Формирую таблицу.
Запускаю все вышеописанные процедуры.
1-й раз всё ОК.

2-й раз и далее таблица формируется без рисунка (он у меня есть в данной конкретной печатной форме - типа счёт с печатью);
при этом блок рисунка формально есть в печатной форме, но сам рисунок не отображается.

Посмотрел более точно: проблема возникает после первого запуска WriteSettings(1).
11. user977372 05.11.20 23:37 Сейчас в теме
12. AndKovalchuk 188 22.12.21 09:09 Сейчас в теме
Подскажите, а для каких целей служит дополнительная компонента GPL Ghostscript?
13. infosoft-v 871 22.12.21 10:21 Сейчас в теме
(12) для работы с PDF документами
14. bakirov.i 04.11.22 15:56 Сейчас в теме
Добрый день.
При попытке создать объект СоздатьОбъект("Bullzip.PdfSettings") выдает ошибку "Класс не зарегистрирован".
Знаю, что надо зарегистрировать его через regsvr32, но хоть убей не пойму где эта dll, которую надо регистрировать.

В пакете с bullzip есть еще и pdfcmd - типа утилита на запуска из командной строки, она работает, даже отправляет что-то на печать. И мне бы даже этого хватило, но незадача в том, что принтер выдает пустые листы.

Можете помочь с вопросом?
15. infosoft-v 871 07.11.22 10:00 Сейчас в теме
(14) Добрый день. Прошу прощения, но многие детали этой задачи ушли из памяти.
На сколько я помню, отдельно ничего регистрировать не приходилось. Достаточно корректно установить программы из абзаца "Зависимости проекта"
16. GregyshkaPSI 16.06.23 19:06 Сейчас в теме
Добрый
Не сталкивались с проблемой что открывает диалог для выбора места сохранения
Причем у одного пользователя
17. infosoft-v 871 17.06.23 08:45 Сейчас в теме
(16) добрый день, думаю на этой машине не выполнена настройка:

Настройте PDF принтер, для этого запустите программу управления принтером: Пуск - Программы - Bullzip - PDF Printer - Bullzip PDF Printer Настройки

На закладке Диалоги установите опции:

Диалог “Сохранить как” в значение Никогда
Диалог “Установки” в значение Никогда


Может потребоваться полный сброс настроек или переустановка принтера.
GregyshkaPSI; +1 Ответить
Оставьте свое сообщение