web-dev-qa-db-ja.com

ZebraZPLの新しい行

  1. 「テキスト」に改行文字を入れるにはどうすればよいですか?たとえば、次のように言います。

Hello World

Hello Worldになります

とにかく、このようにコードに改行文字を入れることができますか?

^FT78,76^A0N,28,28^FH\^FDHello\nWorld^FS
  1. ラベルの「テキスト」が長すぎる場合、どのように別の行を追加しますか?
13
SleepNot

使用する \&改行の場合

^FT78,76^A0N,28,28^FH\^FDHello\&World^FS
12

最大の効果を得るには、ThorstenとDharmeshの回答を組み合わせることをお勧めします。

^FB400,2,0,C^FO0,50
^FDHello\&World^FS

これを行うと、次のようなラベルが生成されます。

result saying "Hello World"

このアプローチの良い点は2つあります。1つは、テキストブロックが新しい行を適切に配置および整列することです。次に、改行が実際に発生する場所を完全に制御できます。

11
Jonny Best

この質問はかなり古いことは知っていますが、^FBコマンド(フィールドブロック)は、実際にはテキストの折り返しに非常に優れています。

私は次のような行を使用しました:

^A0R,54,54^FO505,3424^FB630,2,0,L,0^FDThis is a pretty long line of text^FS

そしてそれはうまく2行に包まれました。覚えておく必要があるのは、折り返しはスペースでのみ行われ、コンマやその他の句読点では行われないように見えることだけです。

5

^ FXは\ nを理解していません。\ 0A(\ nに相当する16進数)を渡す必要があります ASCII wikiページ

したがって、ZPLは次のようになります。

^FT78,76^A0N,28,28^FH_^FDHello_0AWorld^FS

完了したときにこれを見る他の人が混乱しないように、16進文字を_ vs \に変更しました。

^ FBコマンドの使用に関するJasonのアイデアは優れたアイデアです。 (テキストの回転を伴う)いくつかの奇妙な特性がありますが、一般的にはテキストの折り返し用です。

4
Ethan

この質問は少し古いですが、ZPLコマンド^ FTがwhereテキスト要素が表示されることを指示するコマンドであることに言及するのに役立ちます。 78と76は、それぞれラベルのX軸とY軸に対応し、測定単位はドットです。これを念頭に置いて、前の答えは原則として正しいです。次のように、yパラメータを変更して別の^ FTコマンドを呼び出すことができます。

^FT78,78^A0N,28,28^FH\Hello^FS
^FT78,110^A0N,28,28^FH\World^FS

別の方法として、ZPL manual は、自動ワードラップを含む^ TB(テキストボックス)コマンドの詳細を示します。

4
jason.zissman

元の質問には答えませんが、UnicodeにZPLを使用している人にとっては、これが役立つかもしれません。

使ってます ^TBアラビア語のテキストの場合は\&新しい行を作成するために機能しませんでした。

うまくいったのは 改行を16進数に変換する_0A)そしてそれを使用します。

例えば:

^XA
^LL0406
^CI28
^CWZ,E:TT0003M_.FNT
^PA0,1,1,0

^FO609,50,2
^AZN,40,35
^TBN,559,300
^FH
^FD
_D8_B4_D8_B4_D8_B4_0A <-- new line
_D8_B4_D8_B4_D8_B4_0A <-- new line
_D8_B4_D8_B4_D8_B4
^FS


^PQ1
^XZ

...次のようなチケットを出力します:

ششش
ششش
ششش
1
haakym

Android Studioまたは文字列リテラルを事前解析するIDE)を使用している場合は、次を使用します。

 stringWithLineBreaks.replace(Regex("\n"), "\\\\&")
0