iOS:在文本中打印图像到iMZ320打印机

时间:2015-08-22 04:31:17

标签: ios objective-c zebra-printers zebra

我使用iZM320打印机打印这样的收据:

https://gyazo.com/67aa41cf2f8d392f516494f64cde4d01

我使用代码:

1)打印字符串(工作正常)

-(BOOL)printReportAsOneJobUsingNSString:(id<NSObject,ZebraPrinter>)printer withString:(NSMutableString*)fullLabel {   
    NSError *error = nil;  

    long blockSize = 256;  
    long totalSize = fullLabel.length;  
    long bytesRemaining = totalSize;  

    while (bytesRemaining > 0) {  
        long bytesToSend = MIN(blockSize, bytesRemaining);  
        NSRange range = NSMakeRange(0, bytesToSend);  

        NSString *partialLabel = [fullLabel substringWithRange:range];  

        [[printer getToolsUtil] sendCommand:partialLabel error:&error];  

        bytesRemaining -= bytesToSend;  

        [fullLabel deleteCharactersInRange:range];  

    }  

    return (error == nil);  
}  

2)打印图像

if (_printImage) {  
    id<GraphicsUtil, NSObject> graphicsUtil = [printer getGraphicsUtil];  
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{  
        NSError *error = nil;  
        [graphicsUtil printImage:[_printImage CGImage] atX:_posX atY:_posYwithWidth:_printImage.size.width withHeight:_printImage.size.height andIsInsideFormat:NOerror:&error];  
    });  
}  

但我不知道如何结合这些功能来打印我想要的收据。 请帮帮我。

非常感谢!!

2 个答案:

答案 0 :(得分:0)

不要合并 - 分开。

取第一个打印字符串并将其分成两部分。前半部分是在图形之前打印的内容。打印出来。

然后打印出图形。

可以在图形之后发送剩余的字符串。

如果没有看到字符串中的内容以及图形是什么样的,那么这是最好的答案。您可以输入打印机输出的图像,这也很有用。

答案 1 :(得分:0)

合并文本和图像,然后将其打印为单个图像。我认为那是我使用Zebra SDK完成的最佳方法。