Лучше не использовать ОПОС из отдельных приложений, а пересмотреть и изменить структуру приложения.
- Только один ПК управляет печатью на двух билетных принтерах.
- Создайте приложение, выполняющее службу печати на управляющем ПК.
- Приложение службы печати определяет и реализует необходимые функции, такие как прием запроса на печать, уведомление об ожидании/выполнении/состоянии ошибки, отмена печати, уведомление о собственном состоянии принтера и уведомление в 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()
удерживают.
person
kunif
schedule
28.02.2019