Возможно ли взаимодействие с устройством JavaPOS с помощью PHP POS в упрощенном виде?

У нас есть POS, написанный на PHP, который должен взаимодействовать с POS-принтером. Принтер поддерживает JavaPOS. Состояние PHP POS заключается в том, что он генерирует счет и ждет, когда пользователь выберет принтер.

Проблема в том, что принтер JavaPOS не появляется. Я могу взаимодействовать с использованием тестового кода Java, который имеет необходимые драйверы & jpos.xml. Я хочу «установить» это.

Исходя из моего понимания в течение последних четырех дней, изучая руководства JavaPOS от разных производителей [EPSON, Starmicronics, Diebold Nixdorfag], это невозможно. JavaPOS предназначен для системы POS, написанной на Java [JavaFX to Spring].

Но мне очень странно в это верить. Я полагаю, что это не должно иметь место, потому что, если это так, POS, не написанным на Java или .Net, будет очень трудно взаимодействовать с множеством устройств POS и терминалов там.

Следовательно, возможно ли взаимодействие с не Java & не .Net POS для отправки команды печати на устройство JavaPOS?

Обратите внимание, что простая установка устройства и отправка команды печати не решает проблему. Скажем, если я хочу добавить логотип к квитанции вместе с динамическими данными в нижнем колонтитуле квитанции, для того, чтобы .Net сделал его «богатым», потребуется код Java. Теперь, где конкретно находится этот Java-код? Это какое-то виртуальное устройство, которое работает в фоновом режиме и изображает из себя принтер и отображается в диалоговом окне печати, скажем, в POS PHP?

Пример Java-кода, написанного для взаимодействия с JavaPOS с файлом jpos.xml в качестве ссылки.

public static void main(String[] args) {
File f = new File(PrintFTest.class.getClassLoader().getResource("jpos.xml").getPath());

System.setProperty(JposPropertiesConst.JPOS_POPULATOR_FILE_PROP_NAME, f.getAbsolutePath());
//System.getProperties().list(System.out);
FiscalPrinter fiscalPrinter = new FiscalPrinter();

// Get Access to it
try {
fiscalPrinter.open("printf");
fiscalPrinter.claim(1000);
fiscalPrinter.setDeviceEnabled(true);
} catch (JposException e) {
System.out.println("Exception at Access");
e.printStackTrace();
}

// Print
try {
fiscalPrinter.resetPrinter();
fiscalPrinter.beginFiscalReceipt(true);
fiscalPrinter.printRecItem("Salame", 40000, 0, 0, 0, "");
fiscalPrinter.printRecTotal(40000, 40000, "CONTANTI");
fiscalPrinter.endFiscalReceipt(false);
} catch (JposException e) {
System.out.println("Exception at Print");
}

try {
System.out.println("1FP - Fiscal Printer disabling");
fiscalPrinter.setDeviceEnabled(false);
System.out.println("2FP - Fiscal Printer releasing");
fiscalPrinter.release();
System.out.println("2FP - Fiscal Printer closing");
fiscalPrinter.close();
} catch (JposException e) {
System.out.println("Exception at Close");
}

}

}

0

Решение

Он должен содержать метод установки / настройки / настройки в JavaPOS, предоставляемый каждым поставщиком принтера, и руководство пользователя.

Пожалуйста, установите и настройте оборудование и программное обеспечение соответственно.

Однако, как правило, принтеры JavaPOS редко распознаются как стандартные принтерные устройства для их соответствующих операционных систем.

Например, есть такая статья.
Начало работы с разработкой Java POS
Рабочая группа JavaPOS

Далее, рекомендуется использовать эти программы для работы и проверки принтера только в среде Java.
emigonza / POStest
ntsggr / JavaPOS-POStest-2

Есть несколько способов использовать Java из PHP следующим образом.
Интеграция PHP / Java
Использование мостов PHP-Java с сервером WebLogic
Что такое мост PHP / Java?
Как это устроено
Java Bridge
Как вызвать пользовательские методы Java из PHP?

Нет проблем, если это можно решить с помощью вышеуказанного метода, но я рекомендую следующий метод.

  • Объедините программу Java и JavaPOS, чтобы создать программу, которая работает автономно.
  • Программа предоставляет функции, аналогичные POS-процессорам, таким как «печать чеков».
  • Эта программа взаимодействует с POS-кодом PHP простым и легким способом, таким как чистый TCP / IP-сокет, так что выдача запроса, уведомление о завершении или подтверждение завершения могут выполняться асинхронно.

К тому же:

Ниже приведен пример POS-приложения, полностью выполненного на Java.
Так как они с открытым исходным кодом, кажется, это ссылка для программирования.
Однако неизвестно, используется ли элемент управления JavaPOS или нет.

Openbravo Java POS
Floreant POS

Ниже приведен пример POS-приложения с открытым исходным кодом, написанного на PHP.
Вероятно, JavaPOS не будет использоваться.

OpenSourcePOS
WallacePOS

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]