Printing 使用Zebra打印机打印阿拉伯语文本[ZPL]
正如标题所述,是否有任何选项可以打印阿拉伯语内容ZPL打印机 尝试的方法是添加字体并开始打印Printing 使用Zebra打印机打印阿拉伯语文本[ZPL],printing,zebra-printers,zpl,zpl-ii,Printing,Zebra Printers,Zpl,Zpl Ii,正如标题所述,是否有任何选项可以打印阿拉伯语内容ZPL打印机 尝试的方法是添加字体并开始打印 ^XA ^FX ^FR ^CF0,40^CI28^FO130,45^FH^FD محاكمة Font file^FS ^XZ 我的打印机上安装了TT0003M_uu2;.TTF字体,但当我尝试使用 ^XA^FO50,50^AE:TT0003M_.TTFN,50,50^FDمحاكمة^FS ^XZ 知道如何安装字体并使用ZPL语言打印阿拉伯文文本吗?^XA^CI28^CW1,E:TT0003M_3
^XA ^FX ^FR ^CF0,40^CI28^FO130,45^FH^FD محاكمة Font file^FS ^XZ
我的打印机上安装了TT0003M_uu2;.TTF字体,但当我尝试使用
^XA^FO50,50^AE:TT0003M_.TTFN,50,50^FDمحاكمة^FS ^XZ
知道如何安装字体并使用ZPL语言打印阿拉伯文文本吗?^XA^CI28^CW1,E:TT0003M_389;.TTF^LL130^FS
^PA0,1,1,1
^FO50,50^A1N30,30^FD ^FS
^XZ 更新此答案以匹配其他问题
在Zebra KB上也发现了这个问题-也许现在回答你的问题已经太迟了:)但是我有同样的问题,我解决了,所以我想分享我的答案。
1-您可以使用或“调酒师设计器””来设计ZPL代码 2-使用这种字体,它支持阿拉伯字符 3-完成设计后,单击打印并选中“打印到文件”框,然后单击打印并保存扩展名为“.prn”的文件 4-使用记事本打开文件,您将看到ZPL代码 这是结果 或者说这里面的全部结果 6-如果您使用的是在线zpl查看器,例如,如果看不到阿拉伯字符,请不要担心,但是如果您想打印,则不会看到任何问题 7-不要尝试将文本置于中间,因为这样会剪切并反转阿拉伯文本
- 默认值为字段文本“^FT”或带有x,x“^FTx,y”^ft225224,如以下代码所示: ^FPH,3英尺225224^A@N,141141,TT0003M ^ FH ^ CI28 ^ FD ^ FD ^ FS ^ CI27
- 如果您尝试将阿拉伯语文本居中、右或左,它将使用字段块“^FB“^FB383,1,75,C”,它与“^FT”不同,不支持阿拉伯语文本 ^FPH,3英尺225224^A@N,141141,TT0003M ^ FB383,1,75,C^FH^CI28 ^ FD ^ FS ^ CI27
- 您可以在本页的169中看到字段块属性
- 但我有一个技巧,使用^FT width计算中心
//Define page_width and font_width
int page_width = 600;
int font_width = 18;
调用它将返回X位置(中间)的函数
这是函数,315=中间宽度或中心点
public string center_line(string arabic_text)
{
int text_width = (arabic_text.Length * font_width) / 2;
decimal d = ((page_width - (text_width / 2)));
int x = Convert.ToInt16(Math.Round(d)) ;
x = 315 + (text_width / 2);
return x.ToString();
}
像这样使用它:
^FPH,3^FT"+FT_center+@",224^A@N,141,141,TT0003M_^FH\^CI28^FDمحاكمة^FS^CI27
我尝试了你的代码,但我仍然有问题显示阿拉伯字体。它显示???您确定该字体在系统上,并且该字体具有您需要的字符吗?您还需要非常小心,您使用的工具或代码是否正确处理unicode。是的,我确信打印机上有字体**您还需要非常小心使用的工具或代码是否正确处理unicode。**我正在使用Zebra设置实用程序——打开与打印机的通信来测试和设计Label。请参阅我在这里详细描述的问题
public string center_line(string arabic_text)
{
int text_width = (arabic_text.Length * font_width) / 2;
decimal d = ((page_width - (text_width / 2)));
int x = Convert.ToInt16(Math.Round(d)) ;
x = 315 + (text_width / 2);
return x.ToString();
}
^FPH,3^FT"+FT_center+@",224^A@N,141,141,TT0003M_^FH\^CI28^FDمحاكمة^FS^CI27