我正在尝试在热敏打印机(Posiflex PP8X系列)上打印阿拉伯文字。我正在使用Microsoft API服务的.NET API(POS.net V1.12)。但是,打印机上的输出显示问号。通过从Posiflex OPOS Manager打印测试,我确保我的打印机可以打印阿拉伯语。
在将文本发送到打印机之前,我还尝试过对文本进行UTF-8编码,但没有用。
以下是我的代码示例,希望有人可以告诉我,如果我遗漏了任何内容:
Dim posPrinter As PosPrinter = Nothing
Dim strLogicalName As String = "PosPrinter"
Dim deviceInfo As DeviceInfo = Nothing
Dim posExplorer As New Microsoft.PointOfService.PosExplorer
Dim myString As String = "Some Text in Arabic"
deviceInfo = posExplorer.GetDevice(DeviceType.PosPrinter, strLogicalName)
posPrinter = posExplorer.CreateInstance(deviceInfo)
posPrinter.Open()
If Not posPrinter.Claimed Then
posPrinter.Claim(1000)
End If
posPrinter.DeviceEnabled = True
posPrinter.CharacterSet = 864
posPrinter.PrintNormal(PrinterStation.Receipt, myString)
非常感谢提前。
答案 0 :(得分:1)
我建议您使用例如Crystal Reports
设计收据,然后将其打印到热敏打印机。我过去很难使用他们的库从代码本身打印。我不得不做一些角色映射,什么不是!
请参阅我在一年多前问过的this question。
仅在几个月前,我发现我可以做报告并打印到打印机!
答案 1 :(得分:-1)
您可以使用Microsoft报表查看器或水晶报表之类的任何记者来设计收据,然后您可以打印它,这将处理语言问题 因为它取决于Windows字体。