使用POS.NET进行阿拉伯语打印

时间:2013-01-21 20:50:06

标签: vb.net printing arabic pos-for-.net

我正在尝试在热敏打印机(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)

非常感谢提前。

2 个答案:

答案 0 :(得分:1)

我建议您使用例如Crystal Reports设计收据,然后将其打印到热敏打印机。我过去很难使用他们的库从代码本身打印。我不得不做一些角色映射,什么不是!

请参阅我在一年多前问过的this question

仅在几个月前,我发现我可以做报告并打印到打印机!

答案 1 :(得分:-1)

您可以使用Microsoft报表查看器或水晶报表之类的任何记者来设计收据,然后您可以打印它,这将处理语言问题 因为它取决于Windows字体。