也许现在回答你的问题为时已晚:) 但我有同样的问题,我解决了,所以我想分享我的答案。
1- 您可以使用ZebraDesigner 3或“ BarTender Designer ”来设计您的 ZPL 代码。
2-使用此字体ZEBRA Swiss Unicode,它支持阿拉伯字符。
3- 完成您的设计后,单击打印并选中“打印到文件”框,然后单击打印并保存扩展名为“ .prn ”的文件。图片
4- 使用记事本打开文件,您将看到ZPL代码。
5- 这是结果
^FPH,3^FT225,224^A@N,141,141,TT0003M_^FH\^CI28^FDمحاكمة^FS^CI27
或此图像中的完整结果。
6- 如果您使用这样的在线 zpl 查看器,请不要担心看不到阿拉伯字符,但如果您想打印,您不会看到任何问题
7-不要试图让你的文本在中心,因为这会剪切和反转阿拉伯文本
默认值为Field Text > " ^FT " 或 x,x" ^FTx ,y " " ^FT225,224 " 如下代码:
^FPH,3^FT225,224^A@N,141,141,TT0003M_^FH\^CI28^FDمحاكمة^FS^CI27
如果您尝试将阿拉伯文本居中、右移或左移,它将使用字段块“ ^FB ”“^FB383,1,75,C”,它与“^FT”不同,并且不支持阿拉伯文本。
^FPH,3^FT225,224^A@N,141,141,TT0003M_^FB383,1,75,C^FH\^CI28^FDمحاكمة^FS^CI27
您可以在本书第169页查看字段块属性
8-我不确定,但我非常努力,直到现在还没有办法将阿拉伯文字居中。
使用这个函数,它是c#:
//Define page_width and font_width
int page_width = 600;
int font_width = 18;
调用它将返回X位置(中心)的函数。
string ar = "محاكمة محاكمة محاكمة";
string FT_center = center_line(ar);
这是函数,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