标签: zebra-printers

如何在zebra打印机上使用win-1250代码页打印?

我有这个用Zebra打印机打印的代码(RW 420具体)

StringBuilder sb = new StringBuilder();            
sb.AppendLine("N");            
sb.AppendLine("q609");
sb.AppendLine("Q203,26");
//set printer character set to win-1250
sb.AppendLine("I8,B,001");
sb.AppendLine("A50,50,0,2,1,1,N,\"za?ó?? g??l? ja??\"");
sb.AppendLine("P1");

printDialog1.PrinterSettings = new System.Drawing.Printing.PrinterSettings();
if (printDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    byte[] bytes = Encoding.Unicode.GetBytes(sw.ToString());
    bytes = Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding(1250), bytes);                
    int bCount = bytes.Length;
    IntPtr ptr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(bCount);
    System.Runtime.InteropServices.Marshal.Copy(bytes, 0, ptr, bytes.Length);
    Common.RawPrinterHelper.SendBytesToPrinter(printDialog1.PrinterSettings.PrinterName, ptr, bCount);
}
Run Code Online (Sandbox Code Playgroud)

RawPrinterHelper是我从这里得到的微软课程.

我的问题是只打印ASCII字符,如下所示:

za     g  l  ja  
Run Code Online (Sandbox Code Playgroud)

缺少非ASCII字符.

有趣的是,当我打开记事本并将相同的文本放在那里并在Zebra打印机上打印时,所有字符都可以.

c# utf-8 epl zpl zebra-printers

4
推荐指数
1
解决办法
6391
查看次数

ZPL - zebra:打印对齐文本块而不覆盖最后一行

我正在使用以下命令打印对齐文本:

^FB1800,3,0,J^FT100,200^A0B,26,26^FH\^FDLONG TEXT TO BE PRINTED, WHICH DOESNT FIT IN ONLY 3 LINES...^FS
Run Code Online (Sandbox Code Playgroud)

命令^ FB1800,3,0,J打印宽度为1800点,最多3行的字段,对齐.

问题是,如果文本超过最大行数,它将覆盖最后一行!:(当然,这使得最后一行的文字难以理解.

我怎么能避免这种情况?有人知道是否有办法削减超出文本?

文档准确地说明了这种情况:

超过最大行数的文本将覆盖最后一行.更改字体大小会自动增加或减小块的大小.

供参考:我使用的是打印机Zebra 220Xi4.

任何帮助,将不胜感激.谢谢!

zpl zebra-printers text-justify

4
推荐指数
1
解决办法
1万
查看次数

在android上打印zebra打印机上的二维码

我有Zebra MZ 220打印机,我需要通过蓝牙从我的Android应用程序打印二维码.我能够打印文本和图像,但不能打印QR码.

我发现了这个:https://km.zebra.com/kb/index?page = content&id = SO7133&actp = LIST_POPULAR

所以,这是我的代码:

new Thread(new Runnable() {
public void run() {
    try {

        // Instantiate connection for given Bluetooth® MAC Address.
        ZebraPrinterConnection thePrinterConn = new BluetoothPrinterConnection("XX:XX:XX:XX:XX:XX");

        // Initialize 
        Looper.prepare();

        // Open the connection - physical connection is established here.
        thePrinterConn.open();



        // SO THIS SHOULD PRINT THE QR CODE BUT DOESN'T :(
        thePrinterConn.write("! 0 200 200 500 1\r\nB QR 10 100 M 2 U 10\r\nMA,QR code ABC123\r\nENDQR\r\nFORM\r\nPRINT".getBytes());



        //Make sure the …
Run Code Online (Sandbox Code Playgroud)

android zebra-printers

4
推荐指数
1
解决办法
5471
查看次数

如何在没有提示的情况下从Internet Explorer直接打印到标签打印机

我有一个包含upc号码的mysql数据库,我想用斑马打印机(LP2824)打印到标签上.我想以某种方式能够将这些数字直接发送到我的标签打印机,这不是没有提示用户的默认打印机.

据我所知,IE是唯一的选择,因为需要某种类型的activeX控件来实现这一点.我在meadroid.com上使用ScriptX找到了直接打印示例,但我不愿意支付他们的许可费.我还找到了一个使用VBScript的示例,该示例将页面发送到默认打印机而不提示用户.我的问题是我无法弄清楚如何删除IE中存在的默认页眉和页脚,我无法选择使用哪个打印机.

我的问题是:

是否有一个activeX控件,我可以通过类似于MeadCo的ScriptX的javascript使用但没有许可,或者VBScript方法会更好,在这种情况下,一个人如何删除页眉和页脚,并打印到标签打印机,这是没有设置为默认值?将一系列命令直接发送到打印机的能力是理想的.

这是我到目前为止的测试代码:

<head>
<script language='VBScript'>
Sub Print()
       OLECMDID_PRINT = 6
       OLECMDEXECOPT_DONTPROMPTUSER = 2
       OLECMDEXECOPT_PROMPTUSER = 1
       call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
End Sub
document.write "<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
</script>

</head>

<body>
Helo!!!
<a href="javascript:window.print();">Print</a>

</body>
Run Code Online (Sandbox Code Playgroud)

javascript vbscript zebra-printers

3
推荐指数
1
解决办法
2万
查看次数

打印到Zebra打印机会产生模糊的图像

我写了一个库,它从一些用户输入创建一个位图图像.然后使用斑马打印机打印该位图.我遇到的问题是斑马打印机打印的图像上的一切都非常微弱和模糊,但如果我将位图打印到激光打印机,它看起来很正常.有没有人遇到这个,如果是这样,他们是如何解决它的?我已经尝试了几乎所有我能想到的打印机设置.

更新了我如何创建位图图像的代码.

public static Bitmap GenerateLabel<T>(T obj, XmlDocument template)
    {
        try
        {
            int width = Convert.ToInt32(template.SelectSingleNode("/LABELS/@width").Value);
            int height = Convert.ToInt32(template.SelectSingleNode("/LABELS/@height").Value);

            if (obj == null || height <= 0 || width <= 0)
                throw new ArgumentException("Nothing to print");

            Bitmap bLabel = new Bitmap(width, height);
            Graphics g = Graphics.FromImage(bLabel);

            XmlNodeList fieldList = template.SelectNodes("/LABELS/LABEL");

            foreach (XmlNode fieldDetails in fieldList)
            {
                //non important code...

                    g.DrawImage(bBarCode, field.Left, field.Top);


                using (TextBox txtbox = new TextBox())
                {
                    // more non important code...

                    Rectangle r = new Rectangle(field.Left, …
Run Code Online (Sandbox Code Playgroud)

c# printing image bitmap zebra-printers

3
推荐指数
1
解决办法
8206
查看次数

ZPL II扩展字符

我正在尝试使用ZPL II将扩展代码页850字符打印到Zebra S4M.每当使用其中一个扩展字符IE ASCII值> 127时,我得到一个不同灰度而不是实际值的框.

我正在尝试打印±和°(ALT + 0177和ALT + 0176).我怀疑它是我试图使用的RawPrinterHelper(从MS下载,另一个来自CodeProject)但是我无法看到字符代码出错的地方.

奇怪的是,直接从记事本打印呈现正确的字符,这使我相信它是原始打印机助手类的问题.

我不喜欢使用Raw Printer Helper类,所以如果有更好的方法,我很高兴看到它们.

样本ZPLII 没有转义字符

^XA
^FO30,200^AD^FH,18,10^FD35 ± 2 ° ^FS
^FS
^XZ
Run Code Online (Sandbox Code Playgroud)

逃脱的角色(试过大小写)

^XA
^FO30,200^AD^FH,18,10^FD35 _b0 2 _b1 ^FS
^FS
^XZ
Run Code Online (Sandbox Code Playgroud)

原始打印机助手

[StructLayout(LayoutKind.Sequential)]
public struct DOCINFO
{
    [MarshalAs(UnmanagedType.LPWStr)]
    public string printerDocumentName;
    [MarshalAs(UnmanagedType.LPWStr)]
    public string pOutputFile;
    [MarshalAs(UnmanagedType.LPWStr)]
    public string printerDocumentDataType;
}

public class RawPrinter
{
    [
        DllImport("winspool.drv", CharSet = CharSet.Unicode, ExactSpelling = false,
            CallingConvention = CallingConvention.StdCall)]
    public static extern long OpenPrinter(string pPrinterName, ref IntPtr phPrinter, int pDefault);

    [
        DllImport("winspool.drv", …
Run Code Online (Sandbox Code Playgroud)

c# ansi zpl-ii zpl zebra-printers

3
推荐指数
1
解决办法
1万
查看次数

添加libZSDK_API.a时,Restkit的-ObjC标志会导致编译错误

我正在使用RestKit来使用Web服务.RestKit工作正常,直到我尝试添加libZSDK_API.a库(此库是通过网络或蓝牙管理斑马打印机)

几个教程指出将RestKit添加到iOS项目的这一步:

  • 在"其他链接器标志"中添加值-ObjC

但是当我添加库时,这个标志(-ObjC)导致编译错误,当我删除此标志时,iOS应用程序正确编译,但是当我执行应用程序时崩溃,因为Project没有-ObjC标志.

我收到此编译错误:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Linea", referenced from:
      objc-class-ref in libZSDK_API.a(LineaBtPrinterConnection.o)
     (maybe you meant: _OBJC_CLASS_$_LineaBtPrinterConnection)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

iphone zebra-printers ios ios6

3
推荐指数
1
解决办法
996
查看次数

Zebra iMZ320图像打印输入太多纸张

我正在尝试使用Link-OS SDK使用XCode for iOS中的GraphicsUtil类将图像发送到Zebra iMZ320打印机.

-(void)printImage:(UIImage *)image{

    NSString *serialNumber = @"";
    EAAccessoryManager *sam = [EAAccessoryManager sharedAccessoryManager];
    NSArray * connectedAccessories = [sam connectedAccessories];
    for (EAAccessory *accessory in connectedAccessories) {
        if([accessory.protocolStrings indexOfObject:@"com.zebra.rawport"] != NSNotFound){
            serialNumber = accessory.serialNumber;
            break;
        }
    }
    self.connection = [[MfiBtPrinterConnection alloc] initWithSerialNumber:serialNumber];
    NSError *error = nil;

    BOOL success = [self.connection open];

    self.printer = [ZebraPrinterFactory getInstance:self.connection error:&error];

    //Set the device language to zpl or the image prints its HEX value
    [SGD SET:@"device.languages" withValue:@"zpl" andWithPrinterConnection:self.connection error:&error];

    id<GraphicsUtil, NSObject> graphicsUtil = [self.printer …
Run Code Online (Sandbox Code Playgroud)

printing zpl zebra-printers ios

3
推荐指数
1
解决办法
5601
查看次数

如何计算Zebra字体0文字宽度?

有没有办法计算给定文本Zebra字体0的总宽度?考虑以下ZPL命令,

**^XA^FO100,150^A030,30^FDSample Text^FS^XZ**
Run Code Online (Sandbox Code Playgroud)

这里的字符高度和宽度都是30点.我想以mm为单位计算此文本的实际宽度.请注意,打印机DPI为300 ..............

thermal-printer zpl zebra-printers

3
推荐指数
1
解决办法
4182
查看次数

Zebra ZPL命令用于调整条形码的大小以使其位于标签内

我使用Zebra GT800标签打印机,标签角色尺寸为2.5'*1.75'.我正在努力使用ZPL命令将其调整到内部标签.我尝试使用粗体文本中的几个值,我在ZPL的用户指南中读到,但没有成功.

当使用值BY2时,它发生的是条形码超出标签的边缘.当我使用值BY1时,它太小而无法读取.下面是使用的ZPL命令.

^XA^FO150,100^**BY1**^BC,100,Y,N,N^FD00V11636000032562050^FS^XZ 

^XA^FO150,100^**BY2**^BC,100,Y,N,N^FD00V11636000032562050^FS^XZ 
Run Code Online (Sandbox Code Playgroud)

printer-control-language thermal-printer zpl-ii zpl zebra-printers

3
推荐指数
1
解决办法
1万
查看次数