Буферизация данных термоэтикетки доставки с веб-сайта

Мне нужна помощь в попытке передать данные термоэтикетки с веб-сайта на локальный принтер Zebra. Сами данные представляют собой обычный текст, но буферизация их с веб-сайта по какой-то причине кажется очень сложной. У кого-нибудь есть опыт в этом? Я использую ColdFusion 8 и Windows Server 2008.


person Dave Cordes    schedule 30.10.2009    source источник
comment
У вас есть код, который вы можете нам показать, чтобы мы знали, что пишем ваш код не для вас?   -  person Jed Smith    schedule 30.10.2009
comment
Ну конечно, что тебе нужно? Проблема с моим вопросом в том, что я не знаю, с чего начать, поэтому я просто искал идеи.   -  person Dave Cordes    schedule 30.10.2009


Ответы (5)


  • Ваши данные для печати могут быть отправлены с типом MIME (вероятно, для этого есть один, но вы также можете его придумать)
  • На клиентском ПК этот MIME-тип можно сопоставить с программой, которая просто печатает все, что получает.

Настроить тип MIME на ПК можно с помощью кода или файла .REG. Если вы контролируете среду пользователя, это довольно просто. Создать программу, которая сбрасывает все, что она получает, также легко. Это было бы хорошей задачей для Visual C или старого доброго VB6. Очень мало кода. Пока у пользователя есть файлы .EXE и .REG, они будут надежно печатать каждый раз, и браузер не будет мешать. (представьте, что это происходит, когда вы щелкаете ссылку на PDF-файл - открывается Acrobat. Что ж, откройте небольшой EXE-файл для печати для вашего типа файла - легко).

Это мне знакомо... Я думаю, что сделал это с проприетарным набором шрифтов... АХ! Да, мне пришлось сделать это, чтобы сгенерировать ипотечные документы, в которых использовались проприетарные шрифты для рисования красивых линий. Я смог взять проприетарный, автономный сервер выдачи ипотечных кредитов, открыть общий доступ к папке, в которой были созданы файлы ипотечного кредита .PRN. Веб-сервер с доступом к этому общему ресурсу перечисляет файлы в общем ресурсе на веб-странице, затем, когда пользователи щелкают файл, .PRN будет передаваться на их компьютеры, где соответствующий .EXE будет видеть его как один из своих собственных и отправить его на правильное устройство вывода (назначенный принтер в их местоположении). Этот тупой маленький фрагмент кода мгновенно устранил 126 серверов документов (и расходы на их обслуживание и лицензирование), а ипотечные документы больше никогда не терялись и не отправлялись по ошибке не в тот филиал. Я думаю, что потребовалось 3 часа, чтобы все заработало от начала до тестирования в филиалах.

Да тут то же самое. Это сработает. Поверьте мне. Это сработает.

person inked    schedule 30.10.2009

Мне непонятен ваш вопрос, подключен ли принтер Zebra к веб-серверу и какое программное обеспечение работает на сервере. Если вы пытаетесь отправить данные на принтер, подключенный к веб-серверу, я использовал следующую информацию для отправки данных этикетки на термопринтер Zebra в решении для интрасети, и это сработало отлично:

Как отправить необработанные данные на принтер с помощью Visual C# .NET

Возможно, вы сможете адаптировать это решение к своей среде.

person DaveB    schedule 30.10.2009
comment
Принтер Zebra не подключен напрямую к веб-серверу, он будет подключен к клиенту, выполняющему подключение. Или, точнее, это будет мой клиент со своим веб-браузером. - person Dave Cordes; 30.10.2009
comment
Это одна из проблем, которые есть и у нас. - person dnagirl; 30.10.2009

Я возился с этой проблемой целую вечность. В конце концов мне пришлось создать загружаемые файлы для печати. Пользователь загружает их, а затем copy (MSDOS) на принтер.

Было два основных вопроса:

  • вообще говоря, вы не можете печатать с веб-сайта, пока не откроете файл (т.е. файл не станет локальным)
  • драйверы печати на компьютере пользователя (Windows) добавляют непечатаемые символы в файл штрих-кода при его отправке на принтер

Мы установили пакетный файл (который запускает копирование вместо печати) на всех клиентских машинах, которым необходимо печатать штрих-коды, и добавили пункт контекстного меню для запуска пакета файлов с именами *.barcode.

Я буду следить за этой темой, чтобы узнать, нашел ли кто-нибудь более прямое решение. Но это было единственное, что мы могли сделать, учитывая параметры нашей ситуации.

person dnagirl    schedule 30.10.2009

Я не знаю, полностью ли я понял вашу проблему или точную среду, но я ответил на аналогичный вопрос здесь с примером для ASP.NET (C#). Это решение предназначено в основном для известного принтера (конкретный IP-адрес и порт). Если у вас есть несколько клиентов с собственными принтерами этикеток, это решение также может быть использовано. Но тогда вам нужно сделать решение, в котором клиенты могут устанавливать свой собственный IP-адрес и порт своего принтера этикеток. Им также может потребоваться перенаправить порт для трафика в их брандмауэре. Затем веб-страница просто распечатывается на указанный IP-адрес и порт. Вы также можете использовать доменное имя вместо IP.

person Octadrone    schedule 03.01.2010

Возможно, вы могли бы попробовать это: http://code.google.com/p/jzebra/.

Этот проект позволяет отправлять команды ZPL на принтер через веб-браузер.

person Tres Finocchiaro    schedule 05.01.2011