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

Ste*_* M. 3 printing zpl zebra-printers ios

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


}
Run Code Online (Sandbox Code Playgroud)

图像打印正确,但打印机在打印图像之前会送入约9英寸的空白纸张.我试图将"media.tof"var设置为0并尝试发送SETFF 50 2命令,没有运气.任何提示?谢谢!

jas*_*man 13

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

连续'收据'纸 -

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

! U1 setvar "ezpl.media_type" "continuous"
! U1 setvar "zpl.label_length" "500"
Run Code Online (Sandbox Code Playgroud)

标签之间有黑条 -

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

! U1 setvar "ezpl.media_type" "mark"
Run Code Online (Sandbox Code Playgroud)

两者之间存在差距的标签 -

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

! U1 setvar "ezpl.media_type" "gap/notch"
Run Code Online (Sandbox Code Playgroud)

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