Easy print своими руками
Интеграция - Периферийные устройства
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Данное решение можно использовать в тех случаях, когда наблюдаются проблемы с распечаткой документов с терминального сервера путем проброса локального принтера в терминальную сессию средствами протокола RDP. Подобные проблемы замечены при использовании некоторых моделей принтеров на сервере удаленных рабочих столов windows server 2016. Если говорить более точно то речь идет о отказоустойчивой ферме серверов удаленных рабочих столов с 10ком серверов. Локальный принтер подключается в настройках подключения к УРС. В терминальной сессии принтер виден, однако при отправке документа на этот принтер документ не распечатывается, сообщений об ошибках не возникает. манипуляции с разными драйверами и настройками не помогают. Пользователи работают на терминальном сервере в программе 1С и не могу печатать на своих локальных принтерах. Установка драйверов принтеров на сервере и подключение расшаренных принтеров запрещена политикой безопасности (на то есть свои причины). С проблемой печати с помощью easy print столкнулись в связке windows server 2019 windows 7(x32) и некоторые линейки принтеров HP. Возможно данные проблемы наблюдаются и в других связках ПО.
Суть метода заключается в том, что по расписанию 1 раз в минуту на локальном ПК запускается bat файл который отправляет на принтер, который установлен по умолчанию на локальном ПК, файл формата pdf, который расположен на диске Х. После того как файл передан на принтер он удаляется с диска Х. Диск Х подключается к RDP сессии по средствам самого протокола RDP. В терминальной сессии пользователь, каким либо способом сохраняет нужный для печати документ в диск Х. В конфигурациях 1С работающих на платформе 8.3 существует возможность сохранять печатные форму документов в пару кликов мыши. Операция сохранения в pdf занимает не больше действий пользователя чем стандартно отправить на печать. Так же можно использовать для получения pdf какой либо pdf принтер.
Для настройки работоспособного решения необходимо провести ряд настроек:
1. Необходимо чтобы на локальном ПК имелся диск с буквой Х. диск может быть как локальным, так и сетевым.
2. В настройках РДП подключения необходимо подключить диск Х к терминальной сессии. Локальные принтеры можно не подключать так как данное решение предполагает что стандартный easy print не работает.

3. Создать папку c:\print. В которую скопировать файлы: PDFtoPrinter.exe, print.bat, print.exe
4. В стандартном планировщике windows создать задание со следующими настройками:



Данное задание выполняет по расписанию 1 раз в минуту программу print.exe. print.exe представляет собой скомпилированный при помощи «Advanced BAT to EXE Converter» файл print.bat. Компиляция bat в exe позволяет скрыто запускать задание печати, в процессе работы не возникает никаких дополнительных окон. Если в планировщике запускать bat, то наблюдается кратковременное мерцание черного окна терминала при выполнении задания что отвлекает пользователя. Если скопировать в заданную папку несколько файлов, то скрипт автоматически запустит их на печать.
Файл print.bat
echo off
for %%f in (x:\*.pdf) do (
REN "%%f" "%RANDOM%.pdf"
)
for %%f in (x:\*.pdf) do (
c:\print\PDFtoPrinter.exe %%f
del /Q %%f
)
В приведенной инструкции все пути и настройки сделаны под конкретные условия. Описанный метод можно модифицировать как угодно под любые ситуации.
Вступайте в нашу телеграмм-группу Инфостарт