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'调用来实现相同的效果)
| 归档时间: |
|
| 查看次数: |
5601 次 |
| 最近记录: |