【问题标题】:iOS: Print Image within text to iMZ320 printeriOS:将文本中的图像打印到 iMZ320 打印机
【发布时间】:2019-11-04 20:41:11
【问题描述】:

我使用 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];  
    });  
}  

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

非常感谢!!

【问题讨论】:

    标签: ios objective-c zebra-printers


    【解决方案1】:

    不要合并 - 分开。

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

    然后打印出图形。

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

    这是最好的答案,无需查看字符串中的内容和图形的示例。如果您可以放置​​打印机正在输出的图像,这也很有用。

    【讨论】:

    • 我确实像你说的那样分开了:1-打印半字符串,2-打印图像,3-打印剩余字符串。结果是打印了 2 部分字符串,但没有打印图像。有什么想法吗?
    【解决方案2】:

    将文本和图像组合起来打印成单个图像。我认为这是我使用 Zebra SDK 完成的最佳方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      相关资源
      最近更新 更多