Печать через интернет

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать через интернет

Сообщение finsoftrz »

Когда работаем в терминальном доступе через интернет, настройка печати на локальный принтер задача не очень простая. Тем более, если работа ведется через промежуточный компьютер и основной сервер не имеет вообще прямого выхода в интернет.

Давно хотел посмотреть эту тему, сегодня размялся. Идея известная. Сохраняем печатную форму в файл, перекидываем файл с сервера на удаленный компьютер, там печатаем. Сразу уточню, что речь идет про печатные формы (report структуру). При работе в офисных пакетах (Excel, Word или аналоги) обычно хватает буфера обмена. А вот оператору нужна печать.

Реализация получилась такая. В приложении для конкретного пользователя задаем признак печати через интернет и указываем каталог, в который скидывать файл, как на первом скриншоте. Когда этот пользователь формирует форму для печати, то в окне выбора принтера активируется кнопка печати через интернет. Это на втором скриншоте. Если нажать на нее, то программа молча сформирует файл. Я пока оставил doc файл, так как молчаливое объединение wmf страниц в doc уже было в наличии. Можно и на другой формат со временем переключиться. Причем пользователь сохраняет возможность печати и на серверном принтере, что тоже иногда надо бывает. Я подрихтовал шаблоны, чтобы данная возможность автоматически появилась во всех мастер процедурах используемых дизайнеров бланков.

Дальше работает небольшая утилита ФинСофт:Принтер. Она на третьем скриншоте. Одна копия ее запускается на сервере, вторая на удаленном компьютере. В принципе, для отладки можно закольцевать на один экземпляр. Со стороны сервера файлы отправляются на хостинг по ftp протоколу. А со стороны удаленного компьютера работа по http протоколу. Везде поставил таймер опроса раз в 5 сек.
На удаленном компьютере пингуется небольшой скрипт printer.php, лежаший на хостинге. Если есть что печатать, он возвращает имя первого найденного файла в каталоге для данного удаленного рабочего места. Файл скачивается и зачищается на хостинге. Затем посылается на печать. Для печати можно использовать OpenOffice. Там просто указывается опция -p в командной строке.

Сегодня немного погонял решение на свой принтер. Результат вполне приемлемый. Печать работает быстро. Субъективно, не медленнее, чем в локальной сети. Правда, печатные формы небольшие, обычные счета и накладные.
Вложения
fsprn1.jpg
fsprn2.jpg
fsprn3.jpg
C6/C11, ШВС, tps/btrieve.
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Печать через интернет

Сообщение gopstop2007 »

Использую немного другой способ.
Программа печатает в документ (PDF) на облако (Megasync)
На компьютере с принтером, на котором загружен скрипт, который проверяет папку, если появляется файл с нужным форматом (PDF)
то автоматически его печатает и после печати документ (PDF) в моем случае удаляет. Скрипт бросается на любой компьютер с принтером. Работает более 5 лет, ни один документ не терялся, если скрипт вылетал, то достаточно запустить...
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать через интернет

Сообщение finsoftrz »

Есть разные варианты. Например, тот же гугл принтер. Встроенное решение хорошо тем, что поставил за 5 минут и все работает без необходимости администрирования. Как показывает практика, используемый софт надо по возможности минимизировать, меньше головной боли и временных затрат на разборы полетов.
C6/C11, ШВС, tps/btrieve.
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Печать через интернет

Сообщение gopstop2007 »

finsoftrz писал(а): 30 Апрель 2020, 9:48 Есть разные варианты. Например, тот же гугл принтер. Встроенное решение хорошо тем, что поставил за 5 минут и все работает без необходимости администрирования. Как показывает практика, используемый софт надо по возможности минимизировать, меньше головной боли и временных затрат на разборы полетов.
Недостаток, надо все данные пользователя светить для клиента и кстати не работает больше одного клиента, правда может инфа устарела, так как было 5 лет назад.
В Megasync можно например у более 10 торг. точек послать с них итоговые отчеты, в папку на своем компьютере, а инфа, фото товаров для программы или отчеты появятся на основном или наоборот, без участия клиентов.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать через интернет

Сообщение finsoftrz »

Мы одно время прогружали удаленные кассы, используя обмен через яндекс диск. Иногда обмен переставал работать по непонятным причинам. Именно на файл с конкретным именем. Потом сделали возможность прогружать через ip драйвер. Никаких проблем не возникало.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4961
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Печать через интернет

Сообщение kreator »

1. Если нужен локальный принтер, зачем использовать html-клиент терминалки? Десктопный клиент должен поддерживать redirection.
2. AnyScreen сможет решить проблему. Надеюсь.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать через интернет

Сообщение finsoftrz »

kreator писал(а): 30 Апрель 2020, 11:03 1. Если нужен локальный принтер, зачем использовать html-клиент терминалки? Десктопный клиент должен поддерживать redirection.
2. AnyScreen сможет решить проблему. Надеюсь.
Используется десктопный клиент. Не должен. Я не погружался, своих вопросов хватает. Знаю, что админы как-то на эту тему не любят разговаривать. У 1С ников популярно стороннее платное решение. В tsplus есть специальная опция принтера за отдельную оплату. Насколько я знаю, там формируется pdf файл и отправляется для печати на клиента. В AnyScreen, как я понял, тоже через pdf файлы.
А у меня еще опция подключения через промежуточный сервер, когда основной в интернет не смотрит. Такое не слышал, чтобы кто-то поддерживал. А решение, которое описал, разруливает ситуацию, и работает для любого терминального доступа. Единственное, нужен хостинг. Обычно у всех коммерческих контор он есть. А можно для клиентов и общее решение сделать, взяв отдельный, был бы спрос. Цена вопроса пару тысяч в год.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать через интернет

Сообщение finsoftrz »

Когда-то давно был один потенциальный клиент, который хотел торговать кондиционерами. Сервер поставил себе домой, из точки приема заказов по rdp. Для него специально в программе был подключен режим, когда она стартует при терминальном подключении и не дает рыпнуться на рабочий стол. Блокировались вызовы офисных приложений, хукались вызовы стандартных диалогов принтера и выбора файлов/каталогов и т.п. Уперлись тогда как раз в печать. Он нашел какого-то знакомого админа, тот не осилил. А потом чел передумал заниматься этим бизнесом. Сейчас бы вопрос и не встал.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4961
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Печать через интернет

Сообщение kreator »

Десктопный клиент подхватывает локальные принтеры. Его надо настроить, видимо.
1.png
В конце концов Майкрософтовский rdp однозначно это умеет.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать через интернет

Сообщение finsoftrz »

Сами пробовали? Поговорите с админами, много интересного расскажут.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4961
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Печать через интернет

Сообщение kreator »

Наша контора так работает. Есть несколько филиалов по всей стране. Очень удалённых друг от друга.
rdp1.png
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать через интернет

Сообщение finsoftrz »

Когда я спрашивал, мне сказали, что можно, но это танцы с бубнами. Просто флажок поставить недостаточно. По моему, на сервере надо роль специальную включать, однотипные драйвера для принтеров инсталить на сервере и клиенте, не всякий драйвер поддерживает и т.д. Народ не стал бы заморачивался, если все просто было.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Печать через интернет

Сообщение morkovin »

kreator писал(а): 30 Апрель 2020, 16:15 Наша контора так работает.
30.04.png
Последний раз редактировалось morkovin 30 Апрель 2020, 17:18, всего редактировалось 1 раз.
WBR, morkovin
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Печать через интернет

Сообщение morkovin »

finsoftrz писал(а): 30 Апрель 2020, 17:02 однотипные драйвера для принтеров инсталить на сервере и клиенте, не всякий драйвер поддерживает и т.д. Народ не стал бы заморачивался, если все просто было
Да. Со старыми принтерами и на XP проблемы. Но тогда только ScrewDriver помогает.
WBR, morkovin
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4566
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Печать через интернет

Сообщение finsoftrz »

Ага, вот его 1с-ники и предлагали. Проблемы с печатью есть даже в локальной сети. Не зря специальные сетевые принтеры используют. И пробрасывать принтеры не рекомендовали, вместо этого просто инсталить сетевой принтер на сервере. Я как-то видел кучу сеансов в проброшенных принтерах, они там множились, как китайцы.
Как я понимаю, все двинулись в сторону передачи печатных форм в виде файлов. В том числе и MS. Аналогичные проблемы были до Win10, как сейчас не знаю. Меня, в принципе, свое решение устраивает. Пофик, какая ось, какой принтер, какой интернет.
C6/C11, ШВС, tps/btrieve.
Ответить