4

次のコマンドを使用して、両端揃えのテキストを印刷しています。

^FB1800,3,0,J^FT100,200^A0B,26,26^FH\^FDLONG TEXT TO BE PRINTED, WHICH DOESNT FIT IN ONLY 3 LINES...^FS

コマンド^FB1800,3,0、Jは、フィールドブロックを幅1800ドット、最大3行、両端揃えで出力します。

問題は、テキストが最大行数を超えると、最後の行が上書きされることです。:(もちろん、それは最後の行のテキストを読めなくします。

どうすればそれを回避できますか?超過テキストをカットする方法があるかどうか誰かが知っていますか?

ドキュメントには、これが発生すると正確に記載されています。

最大行数を超えるテキストは、最後の行を上書きします。フォントサイズを変更すると、ブロックのサイズが自動的に増減します。

参考:私はプリンターZebra220Xi4を使用しています。

どんな助けでもいただければ幸いです。ありがとうございました!

4

3 に答える 3

7

コマンドを見てください^TB。コマンドよりも優先され、テキストがパラメータ^FBで定義されたサイズを超える場合は切り捨てられますTB

于 2011-12-05T15:31:00.183 に答える
0

使用している高レベルのプログラミング言語に応じて (使用していると仮定して)、次のようなコードを使用して同じことを実現できます (指定された文字数に印刷するテキストを切り詰めます) (ここでは C# を示しています)。

public void PrintLabel(string price, string description, string barcode)
{
    const int MAX_CAPS_DESC_LEN = 21;
    const int MAX_LOWERCASE_DESC_LEN = 32;
    try
    {
        bool descAllUpper = HHSUtils.IsAllUpper(description);
        if (descAllUpper)
        {
            if (description.Length > MAX_CAPS_DESC_LEN)
            {
                description = description.Substring(0, MAX_CAPS_DESC_LEN);
            }
        }
        else // not all upper
        {
            if (description.Length > MAX_LOWERCASE_DESC_LEN)
            {
                description = description.Substring(0, MAX_LOWERCASE_DESC_LEN);
            }
        }
        . . .

これは私が使用しているものです。これよりも「生の」^TBコマンドを好む理由はありますか?

于 2014-12-04T19:23:29.130 に答える