问题标签 [pos-for-.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
275 浏览

opos - 如何在远程会话中使用 POS for .Net 打开连接到本地计算机的现金抽屉

我正在尝试使用 .Net 的 POS 从终端服务器会话(远程桌面)打开连接到本地计算机的现金抽屉。钱箱是 USB - 直接连接到我的电脑并支持 OPOS。如果我在终端服务器上安装 OPOS 驱动程序并注册设备,我就可以打开它。有没有办法通过终端服务器上的设备安装/注册跳过这一步?我正在尝试为所有可连接到系统的支持 OPOS 的现金抽屉制作通用解决方案。

0 投票
0 回答
142 浏览

c# - 在 NUnit 测试期间创建 Microsoft PointOfService 的 PosExplorer 对象时出现异常

我试图测试一个用 C# 编写的需要 .NET 3.5 的 POS 驱动程序。我将 NUnit 用于 VS17,因为我有一个用 C# 编写的控制台应用程序代码,并对驱动程序进行了一些功能测试。

它工作得很好,但是当我尝试从 NUnit 调用相同的方法时,它会引发异常。

这是工作代码:

问题当然在内部testFiscalReceiptClass

如果我posExplorer从控制台应用程序创建对象没有问题,但是当我尝试调试 NUnit 时会引发异常:

{"'Microsoft.PointOfService.Management.Explorer' 类型初始化程序引发异常。"} InnerException {"此方法显式使用 .NET Framework 中过时代码访问的安全策略。为了兼容性目的,启用来自代码访问的安全策略,使用 NetFx40_LegacySecurityPolicy 配置选项。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=155570。"} System.Exception { System.NotSupportedException}

在此处输入图像描述

Nunit 似乎是一个与我的 DLL 不兼容的 64 位库。我花了超过 24 个工作小时来尝试许多解决方案,但我现在被锁定了。

建议?

0 投票
2 回答
759 浏览

c# - 与 Epson FP-81 II(财务打印机)的错误通信

当我下载驱动程序时,他们会分配后端代码。执行时,该方法claim()返回错误 106。

消息错误:

错误代码:非法错误
代码扩展:10002
消息:存根消息。锁定端口错误。IORet = 4

相关问题

0 投票
1 回答
408 浏览

c# - .NET 的 POS - 扫描仪 - 什么可能导致某些二维码不触发 DataEvent 而其他二维码触发?

我们使用 POS for .NET 成功运行了大约一年的应用程序。这个应用程序基本上是读取网络设备上的二维码来获取 MAC 地址。但是最近我们遇到了一个奇怪的问题:我们的应用程序没有收到一些特定的二维码。

我们确实使用 Step by Step Debugger 和 Breaking point 运行了我们的代码。大多数二维码都可以正常工作,但其他一些则根本不工作。
我的意思是Scanner.DataEvent 不会针对特定的 QRCode 触发。我们还检查了扫描仪制造商提供的 OPOS 工具(Datalogic 的 DualTest),所有数据都得到了好评。

QRCode
F09FC2F09402-q2zZ2n的 2 个示例在所有情况下都可以正常工作
18E8299096EC-qHERPC不适用于 .Net 的 POS,但可以与其他 OPOS 工具一起正常工作。

二维码样本

为了在下面提供更多上下文,下面是我们使用 .Net 1.4.1 的 POS 的源代码的简化版本:

0 投票
1 回答
110 浏览

c# - .NET 换行符的 POS

我正在使用“PosPrinter”.NET 类将收据打印到 POS 打印机。除了换行符之外,一切似乎都运行良好。当我传入一个长字符串时,它会自动将长行分成多于 1 行,但它实际上会在单词内中断。

所以,我需要一种打破这个词而不是打破这个词的方法。我感谢您的帮助。吨

代码

0 投票
1 回答
203 浏览

c# - 为什么“€”字符只在打印机初始化之前打印,而不是在初始化之后?

我有一台 Epson TM-T88VI 打印机并使用 C# 中的 Microsoft.PointOfService.PosPrinter 进行打印。

使用以下函数,我打印出一个奇怪的输出:

输出是:

欧元

早餐

氟氯化碳

DFD

在此处输入图像描述

因此,€ 符号被打印为一个奇怪的“F”符号(似乎 F 低于普通字符)。纸张被正确裁切。

我也测试了不同的星座。似乎“€”符号仅在打印出至少一行后发送到打印机的第一个 init 命令之前打印。(我可以在开始时发送多个初始化命令 - 打印€。如果我在打印一些字符后发送初始化,“F”将出现而不是“€”)。如果我重新启动程序,“€”会再次正确打印,但如果我发送 init 命令,它将再次打印为“F”。

“€”符号仅在第三个 init 命令之前打印的原因是什么?我的代码有什么问题还是我错过了某个设置?

0 投票
2 回答
104 浏览

c# - 为什么我必须调用两次初始化命令?(否则我得到输出“t@”)

我有一台 Epson TM-T88VI 打印机并使用 C# 中的 Microsoft.PointOfService.PosPrinter 进行打印。

我有以下两个测试功能:

这两个函数之间的唯一区别:在函数 2 中,我向打印机发送了一个“双”初始化(参见string cmd =初始化)。通常我希望这两个函数会导致相同的结果。但事实并非如此。

调用“printerTestFunction2”后,我得到了预期的输出:

欧元

早餐

正确的输出

当我重新启动程序并调用“printerTestFunction”时,我得到以下输出:

t@A€A

早餐

错误的输出

我还测试了其他功能。除非我两次初始化打印机,否则第一个 init 命令始终打印为“t@”。

有人可以解释这种行为吗?

0 投票
2 回答
2219 浏览

c# - 打印二维码“GS(k“通过“PrintNormal”超过 124 个字节?

我有一台 Epson TM-T88VI 打印机并使用 C# 中的 Microsoft.PointOfService.PosPrinter 进行打印。

我尝试通过 ESC POS 命令打印二维码。

一切正常,直到打印 125+ 字节的 QR 码数据。

这是我的功能:

我的情况:

1)起初我尝试生成内容字符串长度为124的二维码: data"AASDFASDFASDFADSFADSFASDFADSFADSFADSFADSFADSFADSFADSFADSFADSFKLJADSJKLFADSJKLFADSJKLFDJKLFDSJKLFADSJLFDSJLKFDJLSKFDJKLSFADXX"

此二维码打印正确(pL 为 127,pH 为 0),pL 编码为“\u007f”:
"\u001d(k\u007f\01P0AASDFASDFASDFADSFADSFASDFADSFADSFADSFADSFADSFADSFADSFADSFADSFKLJADSJKLFADSJKLFADSJKLFDJKLFDSJKLFADSJLFDSJLKFDJLSKFDJKLSFADXX" 值为rere[3]:127,值为rere[4]= 0

2)然后我尝试生成一个字符串长度为125的二维码: data"AASDFASDFASDFADSFADSFASDFADSFADSFADSFADSFADSFADSFADSFADSFADSFKLJADSJKLFADSJKLFADSJKLFDJKLFDSJKLFADSJLFDSJLKFDJLSKFDJKLSFADXXT"

此二维码不打印(pL 为 128,pH 为 0),pL 编码为“?” 其字节值为 63:

rere[3]:63,值rere[4]= 0

我想一个接一个地获取两个条形码,但我只将第二个二维码内容的一个和一部分作为纯字符串文本。如您在此处看到 结果 的:图为1)的QR码和2)的文字部分

前 63 个字符被擦除,字符 64+ 被打印为普通文本。好的,那是因为字节值是63而不是128。但是为什么QR码没有打印63 char?

那是因为字节值 128 被编码为字符串字符“?”。但是,如果我不能保留字节值 > 127 的字符串,如何使用 Microsoft.PointOfService.PosPrinter.PrintNormal 打印我的 QR 码?

PosPrinter 类中是否有其他函数调用可以接受纯字节数组?我还没有找到一个。

除了 PosPrinter.PrintBarcode 还有其他解决方案吗?

你有什么建议?

编辑:解决方案 我使用了字节数组,然后将每个单字节(通过字符)转换为字符串。该字符串使用纯字节值而不是编码。然后我使用转义序列“ESC|[*]#E”。然后在 PrintNormal 中使用它。这会将字符串直接定向到打印机,而不会在两者之间进行处理。现在也可以处理大于 127 的字节值。

0 投票
0 回答
353 浏览

printing - 无法将 POS.net 安装到 Windows 10

我需要为 Epson Printer 安装 SDK,但它需要安装 Microsoft POS.net

但是当我尝试安装 MS POS.net 时,它并不完整。

在步骤“注册 wmi 提供者”,它正在回滚操作

附上屏幕截图

在此处输入图像描述

事件簿:

0 投票
1 回答
283 浏览

.net - 无法创建 POS 打印机实例

我目前正在试用 VB.NET PrinterSample_Step1, "Hello OPOS for .Net" 。我已经使用 EPSON 高级驱动程序安装了 TM-H6000III 的驱动程序,并在 SetUpPOS for OPOS.NET 中进行了设置。我面临以下问题:

posExplorer.CreateInstance(deviceInfo) 什么也不返回。

这是完整的代码:

我已经尝试了I can't get instance of pos printer的答案,但它似乎在 Visual Studio 2019 中不起作用。

由于出现异常,表单按钮将灰显。

有没有办法解决这个问题?