我正在努力让Epson"ESC/POS"打印机打印条形码(使用Delphi),并想测试打印机是否有故障.你知道在哪里可以找到在"ESC/POS"中打印条形码的程序吗?我想作为最后的手段OPOS程序也可以.
此外,一个有效的演示Delphi程序也可以.到目前为止,我所有的Delphi代码片段都无效.
我使用的打印机是Epson TM-L60II
我们公司有一个销售点系统,有许多附加功能,如订购和接收功能,销售和订单历史等.我们的主要问题是系统设计不正确,因此修复和修复需要很长时间.处理客户的要求.此外,我们正在使用的当前技术(Progress数据库,语言的Progress 4GL)由于数据库连接的多用户许可费等而对我们的客户产生了相当多的许可费用.
经过大量讨论后,看起来我们可能会从头开始(至少暂时保留当前产品).我们正在寻找以下几点:
使用一个漂亮的GUI前端创建系统(它当前是CHUI,并且应用程序的构建方式不允许我们重新设计前端......没有分层或分离业务逻辑和gui ......不寒而栗).
创建具有模块化不同功能的系统,使产品不必包含所有功能.这将为我们当前希望获得基本功能和更低价格标签的客户降低成本.那些想要它们的人可以使用铃声和口哨声.
使用适当的设计模式可以使产品随时轻松添加或更改任何部件(即更改数据库或更改前端而无需重写应用程序或大部分应用程序).这是今天的问题,因为Progress 4GL代码是直接针对数据库编译的.数据库中的小变化需要大量代码重新编译.
我们的新系统将基于Linux,客户端应用程序可以从一个或多个窗口框中提供功能.
所以我正在寻找的是关于哪些数据库和/或框架或编程语言可能会推荐给这类产品的任何建议.任何在这个领域有经验的人都可以指出我们正确的方向,甚至有一些想要避免的想法.我们已经考虑过.NET和SQL Express(我们不需要企业级数据库),但这会限制我们使用Windows(据我所知).我听说过Mono在Linux环境下编写.NET代码,但我对此还不太了解.我们还考虑了基于Java和MySql的实现.
总结一下,我们希望做到以下几点:
将许可成本降低到我们用于开发产品的技术上(Oracle,yikes!MySQL,很好.)
提供易于维护和支持的解决方案.
具有能够通过CHUI前端在"旧"硬件上运行的组件的解决方案.(我们的一些客户拥有40多个终端,为了转换为PC,需要大量现金).
建议将不胜感激.
谢谢
[更新]我应该注意到,我们目前正在进行总成本分析.这个问题旨在为我们提供一些"受过教育的"选项,以便考虑纳入或分析.任何可以分享有关客户端/服务器设置的经验/建议的人都会受到赞赏(不仅仅是那些有销售点系统经验的人......这只是一个奖励).
[UPDATE]
对于任何有兴趣的人,我们最终选择了Microsoft Dynamics NAV,LS Retail(销售点和其他各种东西的插件),然后做了一些(现在正在进行)定制工作.这种设置为我们提供了一个完全集成的g/l系统的额外好处,这是我们当前系统所缺乏的.
我正在开发一个需要打印收据的软件.
什么是最常见的收据打印机类型?
收据打印机API是否有任何行业标准?
那有什么.net库吗?试图找到但没有找到任何东西.
我正在尝试使用C#中的Microsoft Point of Service SDK在Epson TM-T88IV M(并行端口)上打印中文字符.但是,它们在打印机上显示为问号.(?)
我的PosPrinter具有以下有效的CharacterSetList:255,437,850,852,858,860,863,865,866,936,998,999,1252
以下CapCharacterSet:汉字
代码页1252是默认的Windows代码页.936是简体中文的代码页.在这种情况下,我使用的是代码页936,但从未能在打印机上显示中文字符.
例:
string str = "????";
// open device as variable _ReceiptPrinter, claim it, mark it as enabled
_ReceiptPrinter.CharacterSet = 936;
_ReceiptPrinter.PrintNormal(PrinterStation.Receipt, str);
Run Code Online (Sandbox Code Playgroud)
这打印出所有中文字符替换为?的文本.
我不确定是否需要在打印前指定其他转义码(ESC R 15?)或者我的打印机在Epson OPOS(v2.50e)中配置错误.我尝试了很多东西,但没有任何效果.任何想法或代码示例?
注意:在自检中,打印机会打印中文字符.
当前C#POS.NET打印问题:
PrintNormal()
引发异常='未初始化'
CheckHealth
='未初始化''未初始化'异常打印到Epson TM-T88IV时
使用POS for .NET 1.12和Epson OPOS ADK for .NET(v1.11.9)服务对象成功地为PosPrinter打开,声明和设置DeviceEnabled-true
在PrintNormal()之后向打印机发送任何内容的问题导致抛出"未初始化"异常.Epson OPOS ADK附带的CheckHealth Utility会产生完全相同的错误.使用PrintNormal时(PrinterStation.Receipt例外是'未安装指定的工作站'.
使用直接并行打印机打印机打印机打印精细
我们怎么能不把这个豁免 - "它没有被初始化"?
void K8POSPrint()
{
/// <summary>
/// PosPrinter object
/// </summary>
PosPrinter m_Printer = null;
try
{
//Use a Logical Device Name which has been set on the SetupPOS.
string strLogicalName = "PosPrinter";
try
{
//Create PosExplorer
PosExplorer posExplorer = new PosExplorer();
DeviceInfo deviceInfo = null;
try
{
// Device Info is not null when the printer …
Run Code Online (Sandbox Code Playgroud) 我正在为有特殊需求的客户编写销售点申请表.客户端是零售商店,因此当他们处理信用卡时,他们会有一张实体卡,可以刷卡.它现在的方式,在结账时,它向收银员提供一个总额,并且收银员将总数键入信用卡终端(手动 - 它没有连接到计算机),刷卡终端然后当处理付款时,收银员按下"信用卡付款"并打印收据.
问题是手动键入总计是耗时的并且容易出错.我宁愿让我的程序将金额传输到信用卡终端,然后在处理完交易时收到消息.我不想触摸任何持卡人信息(卡号等),因为我想要留在PCI之外.我想做的就是发送金额并获得"接受"或"拒绝".你认为这很常见,但我似乎找不到信息.(例如,authorize.net的卡存在API要求我收集和传输卡号.我不想收集和传输卡号.我想传输一个金额,让其他人收集并传输卡号和过程完成后通知我.)
有人有解决方案吗?有没有人使用过Verifone或Ingenico的硬件?如果我发送通过USB连接的物理终端的号码或虚拟软件终端,我不在乎.我只是不想自己成为终端,所以我不在卡数据链中的任何地方.
我想知道odoo pos如何在线下工作.我检查了其他资源,但我找不到任何东西.我无法在他们的官方网站上找到任何东西或在任何其他网站上找不到任何东西.
有什么方法可以从网络打印机获取打印机状态,如卡纸或缺纸?
我正在开发一个项目,从销售点打印到A4网络打印机,我打算使用LPR原生应用程序,但我无法使用该应用程序获得卡纸或纸张错误.
可以从Lexmark网络打印机获取这些状态吗?
是否存在允许我获得这些状态的任何C/C++开源库?
先感谢您
我的要求是我需要打印发票,它可能包含10行或者可能包含20行.每件东西都应该在一张发票里.
例如,如果您去任何超市,如果您购买3件物品,您可能会收到小额账单.如果您购买30件商品,您可能会收到大笔账单.我想在我的vb.NET应用程序中实现相同的功能.
我确实需要根据账单的性质通过程序增加打印机页面长度.
我正在使用点阵打印机和图形模式打印.
我尝试过的:
截至目前,我已经创建了文本文件,并使用命令行打印使用以下命令打印它
Type Printfile.txt > prn
Run Code Online (Sandbox Code Playgroud)
但是,问题是我无法使用不同的字体,重量或大小来格式化我的文本文件,因为我将其写为文本文件(记事本).
我正在使用streamwriter从VB.NET写入文件,到目前为止我正在尝试在文本文件中格式化它.
我想将一些单词格式化为粗体或斜体和字体大小变化,但由于我使用文本文件格式化,因此我无法这样做.
以下是格式:
Store Name
Store Address
----------------------------------------
Gift Receipt
Transaction #: 105
Date: 11/10/2009 Time: 6:10:10
Cashier: 2 Register: 5
----------------------------------------
Item Description Quantity
----------------------------------------
567577 xyz 2
687687 abc 4
– – – – –
----------------------------------------
Net Amount : 6
Thank You for shopping
XYZ StoreName
We hope you’ll come back soon!
Run Code Online (Sandbox Code Playgroud)
我试图允许 POS Web 应用程序使用 Chrome webusb API 直接打印到 StarMicronics(或任何收据打印机)。
我几乎完全相同地使用此处的示例,只是我已将vendorId
过滤器修改为 StarMicronics 的供应商 ID。我还尝试过使用完全空的过滤器。它在我测试过的 Mac 电脑上运行良好,但问题出在 Windows 上。
当我单击“打印”按钮时,Chrome 会打开连接窗口,列出我的设备,我可以选择它并单击“连接”。所以navigator.usb.getDevices()
工作很棒。当我刷新窗口时,将网站连接到设备后,Chrome 再次毫无问题地找到该设备。
当我尝试这样做时,问题就来了device.open()
。我在控制台中收到此错误:DOMException: Access Denied.
从这一点来看,我不能执行任何操作device.selectConfiguration()
,device.claimInterface()
因为我收到的错误是必须首先打开设备,显然。
我已经在 Chrome 中启用了我所知道的所有标志:
#enable-experimental-web-platform-features
#enable-webusb
#new-usb-backend
但这些都没有帮助。我还尝试使用其他打印机,例如 HP deskjet 和 Dymo Label Writer,均出现相同的错误消息:访问被拒绝。
再次强调,它在 Mac 上运行良好。
对此的任何帮助将不胜感激。