Моя компания сделала это, используя опцию "2", например, агент (на самом деле приложение MFC), работающий на машине с подключенным карточным принтером.
Агент периодически проверяет интернет-URL в поисках новых заданий на печать;задания на печать определяются с использованием сценариев, сгенерированных на веб-сервере, сценарий включает такие детали, как данные магнитной полосы, которые должны быть закодированы, имена пользователей / рисунки и место их печати на карточке и т. д.Агент отправляет обратно на сервер после успешного задания на печать.Обратная отправка на сервер важна, поскольку принтеры для карточек имеют тенденцию регулярно выходить из строя.
Большим преимуществом этого подхода является то, что несколько пользователей могут совместно использовать один принтер, поэтому вам не нужно покупать принтер для каждой рабочей станции, гдепроисходит регистрация карты.Принтеры для карточек могут быть сложными и требовать большого обслуживания, поэтому проще поддерживать один принтер.
Еще одно преимущество заключается в том, что вам не нужно писать плагины для всех платформ браузеров, которые вы хотите поддерживать.Наконец, он позволяет пользователям с картами печати Linux / MacOS использовать систему (при условии, что они настроят машину Windows для управления принтером).