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

时间:2013-10-15 14:45:21

标签: ios printing zebra-printers zpl

我正在尝试使用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 getGraphicsUtil];

    success = [graphicsUtil printImage:[image CGImage] atX:0 atY:0 withWidth:200 withHeight:200 andIsInsideFormat:NO error:&error];


}

图像打印正确但打印机在打印图像前送入约9英寸的空白纸张。 I tried to set the "media.tof" var to 0 and tried to send the SETFF 50 2 command,没有运气。任何提示?谢谢!

2 个答案:

答案 0 :(得分:13)

这通常是Zebra打印机配置问题。 Zebra打印机可以设置为连续模式(用于打印收据)或标签模式(用于打印标签)。此外,当设置为标签模式时,打印机可能正在寻找黑条以分隔标签或标签之间的间隙。所以,最重要的问题是:你使用什么类型的媒体?

连续'收据'文件 -

如果您使用的是连续纸,则需要提前设置打印作业的标签长度​​。您还需要表明您正在使用连续媒体。您可以发送以下命令:

! U1 setvar "ezpl.media_type" "continuous"
! U1 setvar "zpl.label_length" "500"

标签之间带有黑条 -

如果您使用黑条标签,则需要将此SGD命令发送到打印机:

! U1 setvar "ezpl.media_type" "mark"

标签之间存在差距 -

如果您使用中间有间隙的标签,则需要发送以下SGD命令:

! U1 setvar "ezpl.media_type" "gap/notch"

(注意上面的命令是!U1 SGD表示法。你可以简单地使用你的代码中看到的SDK“SGD”调用来实现相同的效果)

答案 1 :(得分:0)

我无法发表评论,但我必须在此处添加此内容。据我所知,接受的答案不是保存在打印机中的参数。每次重新启动打印机时它都会重置。

要使上述方法正常工作,您需要在每次启动并连接到打印机时发送setvar命令,否则它将被重置。

对于运行固件V73.19.13Z(目前是最新版本)的Zebra iMZ220,至少可以发现这一点。

我还注意到您可以使用Zebra Config Utility(v1.1.9.1122)配置媒体类型。在&#34;下配置打印机设置&#34;你可以设置日记/黑标/差距感。您也可以在打印后设置进纸长度。但是如果您保存文件并将其发送到打印机并查看配置文件,那么就没有配置介质类型或进纸长度。

Zebra支持尚未认识到他们有问题或指向解决方案。 :/