代码之家  ›  专栏  ›  技术社区  ›  FireClaw

Zebra TLP2844 Windows 7 USB转义问题

  •  1
  • FireClaw  · 技术社区  · 15 年前

    我在Windows7 32位运行最新的驱动程序从斑马和打印通过USB到TLP2844。我正在尝试生成一组标签,并使用RawPrinterHelper类将它们从C#打印到标签打印机上,正如许多在线帖子中提到的那样。如果我打开打印机电源并使用oM命令来禁用初始Esc序列馈送,那么它可以正常工作并正确打印两个标签。此后,高度似乎不正确,因为它不打印两个标签,而是打印一个标签,第二段文字朝向标签底部。任何帮助都将不胜感激。

    发送到打印机的命令序列示例:

    oM
    
    N
    q599
    Q272,024
    ZT
    S2       
    A253,26,0,3,1,1,N,"TEST LABEL TEXT"
    P1
    
    N
    q599
    Q272,024
    ZT
    S2       
    A253,26,0,3,1,1,N,"TEST LABEL2 TEXT"
    P1
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   Scott Chamberlain    15 年前

    当您禁用标签顶部的检测时,最有可能的罪魁祸首是您的 Q272,024 不够大。由于你没有发布太多额外的信息,我不知道你为什么要使用 oM


    试着省略 Q 奥姆 这个设备应该足够聪明,能够自己正确供电(确保你已经做了一个复位,以确保你清除了任何以前的错误 (您可能已发送)同时确保您处于“行”模式而不是“页”模式。


    下面是我编写的几个类,用于将英寸或毫米转换为点,供公司内部使用。

     public static partial class Convert
        {
            /// <summary>
            /// Converts number of dots in to millimeters in length
            /// </summary>
            /// <param name="dots">length in dots</param>
            /// <returns>length in millimeters</returns>
            public static float DotsToMm(int dots)
            {
                return dots * 0.125125f;
            }
            /// <summary>
            /// Converts millimeters to dots in length.
            /// </summary>
            /// <param name="mm">length in millimeters</param>
            /// <returns>length in dots</returns>
            public static int MmToDots(float mm)
            {
                return (int)(mm / 0.125125f);
            }
            /// <summary>
            /// Converts number of dots in to inches in length
            /// </summary>
            /// <param name="dots">length in dots</param>
            /// <returns>length in inches</returns>
            public static float DotsToInches(int dots)
            {
                return dots * 0.0049125f;
            }
            /// <summary>
            /// Converts inches to dots in length.
            /// </summary>
            /// <param name="mm">length in inches</param>
            /// <returns>length in dots</returns>
            public static int InchesToDots(float Inches)
            {
                return (int)(Inches / 0.0049125f);
            }
        }
    
        2
  •  0
  •   Ovi Tisler    15 年前

    驱动程序发送了一个初始化序列,这可能会把你的标签搞砸。你能通过指向一个文件并查看驱动程序发送的内容来捕获驱动程序的输出吗?您可以播放驱动程序设置,以确保它们是正确的