gpt4 book ai didi

java - 是否可以使用 PHP POS 以简单的方式与 JavaPOS 设备进行交互?

转载 作者:行者123 更新时间:2023-12-02 10:24:14 24 4
gpt4 key购买 nike

我们有一个用 PHP 编写的 POS,需要与 POS 打印机交互。打印机支持JavaPOS。 PHP POS 的状态是生成账单并等待用户选择打印机。

现在的问题是,JavaPOS 打印机没有显示。我能够使用具有必要的驱动程序和 jpos.xml 的测试 Java 代码进行交互。我希望“安装”这个。

根据我过去四天浏览不同制造商 [EPSON、Starmicronics、Diebold Nixdorfag] 的 JavaPOS 手册的了解,这是不可能的。 JavaPOS 适用于用 Java [JavaFX to Spring] 编写的 POS 系统。

但我觉得相信这一点很奇怪。我相信情况不应该是这样,因为如果这是真的,那么非 Java 或 .Net 编写的 POS 将很难进行交互那里有大量的 POS 设备和终端。

因此,是否可以与非 Java 和非 .Net POS 交互以将打印命令发送到 JavaPOS 设备?

请注意,仅安装设备并发送打印命令并不能解决问题。比如说,如果我想在收据上添加 Logo 以及收据页脚中的动态数据,.Net 将需要 Java 代码来使其“丰富”。现在,这段 Java 代码具体位于哪里?它是在后台运行并伪装成打印机并显示在 PHP POS 等打印对话框中的虚拟设备吗?

编写用于与 JavaPOS 交互的示例 Java 代码,以 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");
}

}

}

最佳答案

它应该包含每个打印机供应商提供的JavaPOS中的安装/设置/配置方法及其用户手册。

请相应地安装和配置设备和软件。

但是,一般来说,JavaPOS 打印机很少被视为各自操作系统的标准打印机设备。

比如有这样一篇文章。
Getting started with Java POS development
JavaPOS Working Group

接下来,建议您仅在Java环境下使用这些程序来操作和验证打印机。
emigonza/POStest
ntsggr/JavaPOS-POStest-2

从 PHP 使用 Java 有多种方法,如下所示。
PHP/Java Integration
Using PHP-Java Bridges with WebLogic Server
What is the PHP/Java Bridge?
How it works
Java Bridge
How to call custom java methods from PHP?

如果用上面的方法解决就没有问题,但是我推荐下面的方法。

  • 将 Java 程序和 JavaPOS 组合起来创建一个独立运行的程序。
  • 该程序提供类似于 POS 处理单元的功能,例如“收据打印”。
  • 该程序以简单轻量的方式(例如裸露的 TCP/IP 套接字)与 PHP 的 POS 进行通信,以便可以异步执行请求发出、完成通知或完成确认。
<小时/>

此外:

以下是完全用 Java 编写的 POS 应用程序的示例。
由于这些都是开源的,看来可以作为编程的引用。
但是否使用JavaPOS控制尚不清楚。

Openbravo Java POS
Floreant POS

以下是用 PHP 编写的开源 POS 应用程序的示例。
可能不会使用JavaPOS。

OpenSourcePOS
WallacePOS

关于java - 是否可以使用 PHP POS 以简单的方式与 JavaPOS 设备进行交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54095813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com