Лучше не использовать OPOS из отдельных приложений, а просматривать и изменять структуру приложения.
- Только один ПК управляет печатью на двух принтерах билетов.
- Создайте приложение, которое выполняет службу печати, на ПК управления.
- Приложение службы печати определяет и реализует необходимые функции, такие как принятие запроса на печать, уведомление о состоянии ожидания / выполнения / ошибки, отмена печати, уведомление о собственном принтере.состояние и уведомление для приложения POS.
- Приложение POS использует эти интерфейсы для отправки запроса на печать приложению, которое выполняет службу печати и получает уведомление / результат.
Кроме того:
Следующие ответили на вопрос об использовании одного POSPrinter на одном компьютере с JavaPOS, но его также можно применить к ситуациям, подобным вашему вопросу.
Если вы имеете дело только с использованием OPOSпожалуйста, учтите это.
Это зависит от структуры программного обеспечения приложения.
Если приложение, использующее принтер, имеет только один процесс, выполните Open()
, Claim()
, DeviceEnabled=True
один раз при запуске приложения.Вы можете выполнить DeviceEnabled=False
, Release()
, Close()
непосредственно перед завершением приложения.
При необходимости приложение объединяет TransactionPrint()
, RotatePrint()
, PrintNormal()
и т. Д. Для печати.
Это сокращает время, необходимое для печати.
Если приложения, использующие принтеры, работают одновременно в более чем одном процессе одновременно, только Open()
в каждом процессе.
Если процесс, требующий печати, остается практически неизменным, Claim()
и DeviceEnabled=True
на стороне получения права управления принтером одновременно с моментом переключения задания и экрана, на стороне для освобождения права управления навызывается принтер с DeviceEnabled=False
, Release()
.
Когда процессы, требующие частой смены печати, Claim()
, DeviceEnabled=True
выполняется после каждого использования принтера и после завершения печати, когда это необходимопечать завершена, DeviceEnabled=False
, Release()
для удержания.