当前位置: 首页 > 知识库问答 >
问题:

无法打印Xamarin中的土耳其字符。使用CPCL的Zebra移动打印机表单应用程序

郑星雨
2023-03-14

我正试图从Xamarin打印。通过蓝牙将表格应用于Zebra ZQ220移动打印机。

我安装了Zebra.Printer。SDK版本2.15.2634,我可以打印。

对于土耳其字符打印,我将字体文件SWISS721存储在Zebra打印机中,我可以使用我的CPCL代码(如下所示)通过Zebra设置实用程序/与打印机的开放通信/直接通信打印土耳其字符。

! 0 200 200 500 1
PCX 0 1 !<NRPLOGO.PCX
T SWF12.CPF 0 125 180  şŞ iİ üÜ ğĞ öÖ çÇ
T SWF08.CPF 0 1 225 Tarih : 01.01.2022     Makbuz No : NTQ4NzIzNTM=
PRINT

在Xamarin。表单应用程序,根据Zebra文档,我创建了一个字符串来存储CPCL,如下所示:

private const string RealTestLabelCpclSwiss = "! 0 200 200 500 1\r\n"
+ "PCX 0 1 !<NRPLOGO.PCX\r\n"
+ "T SWF12.CPF 0 125 180  şŞ iİ üÜ ğĞ öÖ çÇ\r\n"
+ "T SWF08.CPF 0 1 225 Tarih : 01.01.2022     Makbuz No : NTQ4NzIzNTM=\r\n"
+ "PRINT\r\n";

要将此字符串发送到打印机,需要将其转换为字节数组,Zebra文档使用UTF8编码,如下所示:

return Encoding.UTF8.GetBytes(RealTestLabelCpclSwiss);

我可以打印到打印机,但像 şŞ İ Ğ 这样的土耳其字符打印不正确。

我假设这是一个编码问题,我可能需要使用不同的编码,尝试了以下编码:

return Encoding.Default.GetBytes(RealTestLabelCpclSwiss);

return Encoding.ASCII.GetBytes(RealTestLabelCpclSwiss);

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
return Encoding.GetEncoding(1254).GetBytes(RealTestLabelCpclSwiss);

return Encoding.GetEncoding("ISO-8859-9").GetBytes(RealTestLabelCpclSwiss);

但是我仍然不能用Xamarin打印土耳其字符。表格。

我的测试设备是iPhone,我还选中了iOS项目属性/iOS构建/国际化中的west复选框。

我如何用Xamarin纠正这个编码问题。形式?

共有1个答案

高展
2023-03-14

我解决了这个问题。我用过

Encoding.GetEncoding("iso-8859-9")

而不是

Encoding.GetEncoding("ISO-8859-9")

我能打印土耳其语字符。

我不知道这个编码名称区分大小写。

 类似资料:
  • Byte[]utf8=str1.getBytes(“Windows-1254”);test3=新字符串(“windows-1254”); 输出为I:3/Ortakl:1/2:°:1/2 但上述代码在控制台程序中工作良好,即main method main method打印类似 isortakli的输出 任何建议都必须是可行的

  • 在我的项目中,客户需要使用POS打印机打印收据,这可以使用JAVA POS来完成。我在网上搜索没有任何有用的材料,但发现 1.javapos 2.jpos 可以有人请指导我应该进行JAVA POS或JPOS。 该应用程序基于Java Swing desktop而不是基于web。 真的坚持这一点,任何帮助都是非常有用的

  • 为了处理文字和图形而使用视讯显示器时,设备无关的概念看来非常完美,但对于打印机,设备无关的概念又怎样呢? 总的说来,效果也很好。在Windows程序中,用于视讯显示器的GDI函数一样可以在印表纸上打印文字和图形,在以前讨论的与设备无关的许多问题(多数都与平面显示的尺寸、分辨率以及颜色数有关)都可以用相同的方法解决。当然,一台打印机不像使用阴极射线管的显示器那么简单,它们使用的是印表纸。它们之间有一

  • 我目前的工作是创建机械图纸,用于发送给客户和作为施工图。当我的绘图完成后,我导出一个. pdf文件,并将其发送给客户端。 我们的客户非常喜欢黑白画,所以我试着提供他们。但是我用来画画的软件效果不好。它只有一个选项“所有颜色都是黑色”,我的画上有一些白色的“隐藏线”。当然,这些显示使用所有颜色作为黑色选项。 我找到了一个解决方案,那就是使用pdf打印机。效果很好,效果也很好。 现在我想打印这个。pd

  • 我有一个flask应用程序,只有一条路线,没有复杂的事情发生,运行在docker容器中。我一辈子都不能让print语句出现在日志中(

  • 我需要发送一个pdf文件打印在一个网络应用程序的服务器端,打印机完全支持pdf打印等,它是网络以及服务器。pdf也存储在服务器上。 我尝试的是点击一个按钮,打印出pdf文件,目前我有以下代码: 但我有几个问题,我如何将pdf放入输入流以打印出来,我可以选择诸如双面打印之类的选项,以及如何从JSF web应用程序中调用它 谢谢