Отправить данные на Com-порт с веб-страницы - PullRequest
0 голосов
/ 02 сентября 2010

Я новичок в веб-разработке, пожалуйста, не могли бы вы помочь мне понять, правильно ли я работаю?

Там будет веб-страница, предназначенная для наших клиентов (не интранет), откуда они могут печатать этикетки. Некоторые крупные клиенты будут иметь специальные принтеры этикеток, где конфигурация и печать с использованием COM-порта является единственно приемлемым вариантом. По сути, у нас очень ограниченные знания и контроль над их окружением.

Сама веб-страница будет довольно простой HTML-страницей или более сложной AJAX.

После того, как клиент введет все данные и выберет этот тип печати, у нас будут следующие задачи: 1) получить данные о принтерах в системе клиента, установленных на компорте, и, если возможно, получить настройки принтера (например, размер бумаги и ориентацию). В идеале хотелось бы иметь возможность регулировать настройки, но если это затруднительно, можно просто указать, что ваш принтер должен быть установлен на COM1 и правильно настроен. 2) отправлять команды и читать ответы и отправлять код PCL на выбранный com-порт

Как я понимаю, мне нужно установить что-то на компьютере клиента, чтобы иметь возможность общаться с com-портом и получать любые настройки. Просто HTML + Javascript не способны сделать это. Правильно?

Я обнаружил библиотеку RXTX, которая, кажется, связывается с com-портом на большинстве платформ. Это можно вызвать из JavaScript или мне все еще нужно сделать плагин Java? Существуют ли другие технологии, кроме плагина Java, которые бы решали эту задачу?

Веб-страница будет использоваться в разных средах - платформах и веб-браузерах. Мы хотели бы свести к минимуму количество индивидуальных решений. Позволит ли Java сделать один и тот же плагин для всех сред с минимальной настройкой?

Если мы требуем, чтобы пользователь установил плагин, будет ли ему предложено ввести наши учетные данные для подтверждения установки? Потребуется ли нашему веб-сайту более высокие настройки доверия?

Спасибо за помощь!

1 Ответ

1 голос
/ 02 сентября 2010

Ну, я должен был сделать это в прошлом. Вот что я сделал и обстоятельства

1) Я знал, что наши клиенты находились в среде Windows, поэтому я написал программное обеспечение win32 для обработки печати. ​​

2) Я создал формат файла для чтения программным обеспечением win32, который позволил мне указать параметры печати и данные этикетки. XML хорошо работает для таких вещей.

3) Мое веб-приложение создало файл в формате, используемом программным обеспечением win32, и вернуло его пользователю, когда они нажали кнопку «Печать ярлыков». Расширение файла в возвращенном файле было зарегистрировано установщиком программного обеспечения win32. Это означает, что когда их браузер искал обработчик приложения по умолчанию для этого файла, он обнаружил мое программное обеспечение win32.

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

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

Вопрос о том, отправляет ли ваш нативный код pcl непосредственно на принтер или переводит в api для печати (как и в win32 api, как у меня), является другим вопросом.

Другой подход, который вы могли бы рассмотреть, состоит в том, что вместо отправки кодов PCL вы можете создать PDF-документ. Отформатируйте документ в соответствии с размером и ориентацией принтера этикеток. Пользователю все равно придется нажимать кнопку печати, но это может сработать. Я сделал это для печати на принтерах штрих-кодов, и он отлично работает. Иногда получить маржу и правильную ориентацию немного сложно, но это можно выяснить.

...