Мне нужна помощь в попытке передать данные термоэтикетки с веб-сайта на локальный принтер Zebra. Сами данные представляют собой обычный текст, но буферизация их с веб-сайта по какой-то причине кажется очень сложной. У кого-нибудь есть опыт в этом? Я использую ColdFusion 8 и Windows Server 2008.
Буферизация данных термоэтикетки доставки с веб-сайта
Ответы (5)
- Ваши данные для печати могут быть отправлены с типом MIME (вероятно, для этого есть один, но вы также можете его придумать)
- На клиентском ПК этот MIME-тип можно сопоставить с программой, которая просто печатает все, что получает.
Настроить тип MIME на ПК можно с помощью кода или файла .REG. Если вы контролируете среду пользователя, это довольно просто. Создать программу, которая сбрасывает все, что она получает, также легко. Это было бы хорошей задачей для Visual C или старого доброго VB6. Очень мало кода. Пока у пользователя есть файлы .EXE и .REG, они будут надежно печатать каждый раз, и браузер не будет мешать. (представьте, что это происходит, когда вы щелкаете ссылку на PDF-файл - открывается Acrobat. Что ж, откройте небольшой EXE-файл для печати для вашего типа файла - легко).
Это мне знакомо... Я думаю, что сделал это с проприетарным набором шрифтов... АХ! Да, мне пришлось сделать это, чтобы сгенерировать ипотечные документы, в которых использовались проприетарные шрифты для рисования красивых линий. Я смог взять проприетарный, автономный сервер выдачи ипотечных кредитов, открыть общий доступ к папке, в которой были созданы файлы ипотечного кредита .PRN. Веб-сервер с доступом к этому общему ресурсу перечисляет файлы в общем ресурсе на веб-странице, затем, когда пользователи щелкают файл, .PRN будет передаваться на их компьютеры, где соответствующий .EXE будет видеть его как один из своих собственных и отправить его на правильное устройство вывода (назначенный принтер в их местоположении). Этот тупой маленький фрагмент кода мгновенно устранил 126 серверов документов (и расходы на их обслуживание и лицензирование), а ипотечные документы больше никогда не терялись и не отправлялись по ошибке не в тот филиал. Я думаю, что потребовалось 3 часа, чтобы все заработало от начала до тестирования в филиалах.
Да тут то же самое. Это сработает. Поверьте мне. Это сработает.
Мне непонятен ваш вопрос, подключен ли принтер Zebra к веб-серверу и какое программное обеспечение работает на сервере. Если вы пытаетесь отправить данные на принтер, подключенный к веб-серверу, я использовал следующую информацию для отправки данных этикетки на термопринтер Zebra в решении для интрасети, и это сработало отлично:
Как отправить необработанные данные на принтер с помощью Visual C# .NET
Возможно, вы сможете адаптировать это решение к своей среде.
Я возился с этой проблемой целую вечность. В конце концов мне пришлось создать загружаемые файлы для печати. Пользователь загружает их, а затем copy
(MSDOS) на принтер.
Было два основных вопроса:
- вообще говоря, вы не можете печатать с веб-сайта, пока не откроете файл (т.е. файл не станет локальным)
- драйверы печати на компьютере пользователя (Windows) добавляют непечатаемые символы в файл штрих-кода при его отправке на принтер
Мы установили пакетный файл (который запускает копирование вместо печати) на всех клиентских машинах, которым необходимо печатать штрих-коды, и добавили пункт контекстного меню для запуска пакета файлов с именами *.barcode.
Я буду следить за этой темой, чтобы узнать, нашел ли кто-нибудь более прямое решение. Но это было единственное, что мы могли сделать, учитывая параметры нашей ситуации.
Я не знаю, полностью ли я понял вашу проблему или точную среду, но я ответил на аналогичный вопрос здесь с примером для ASP.NET (C#). Это решение предназначено в основном для известного принтера (конкретный IP-адрес и порт). Если у вас есть несколько клиентов с собственными принтерами этикеток, это решение также может быть использовано. Но тогда вам нужно сделать решение, в котором клиенты могут устанавливать свой собственный IP-адрес и порт своего принтера этикеток. Им также может потребоваться перенаправить порт для трафика в их брандмауэре. Затем веб-страница просто распечатывается на указанный IP-адрес и порт. Вы также можете использовать доменное имя вместо IP.
Возможно, вы могли бы попробовать это: http://code.google.com/p/jzebra/.
Этот проект позволяет отправлять команды ZPL на принтер через веб-браузер.