我使用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];
});
}
但我不知道如何结合这些功能来打印我想要的收据。 请帮帮我。
非常感谢!!
答案 0 :(得分:0)
不要合并 - 分开。
取第一个打印字符串并将其分成两部分。前半部分是在图形之前打印的内容。打印出来。
然后打印出图形。
可以在图形之后发送剩余的字符串。
如果没有看到字符串中的内容以及图形是什么样的,那么这是最好的答案。您可以输入打印机输出的图像,这也很有用。
答案 1 :(得分:0)
合并文本和图像,然后将其打印为单个图像。我认为那是我使用Zebra SDK完成的最佳方法。