我如何在epson tm-m30打印机上同时设置3-4张自动打印

问题描述 投票:0回答:1

如何在Epson TM-m30打印机上同时设置3-4张自动打印。这是我的代码,请检查并提供解决方案。如果我删除时间延迟,则此代码将中断,如果我设置了时间延迟,则该代码将起作用... !!

它不断地连接和断开打印机。这是do连接并打印收据的常见过程。

1)初始化

2)正在连接

3)打印

4)断开连接并清除缓冲区

我注意到一台打印机不能与多个Ipad或多个设备连接,而我们的要求是我们必须与多个设备连接。

因此,有什么办法设置队列来管理多个请求?

NSArray *arr=[[NSArray alloc]initWithObjects:@"1",@"2", nil];
                    [arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop)
                    {
                        if (idx==0)
                        {
                            [self runPrintReceiptSequence];
                        }
                        else
                        {
                            [self performSelector:@selector(runPrintReceiptSequence) withObject:nil afterDelay:1.5];
                        }
                    }];

        - (BOOL)runPrintReceiptSequence
        {
            _textWarnings.text = @"";

            if (![self initializeObject]) {
                return NO;
            }

            if (![self createReceiptData]) {
                [self finalizeObject];
                return NO;
            }

            if (![self printData]) {
                [self finalizeObject];
                return NO;
            }

            return YES;
        }

    - (void) onPtrReceive:(Epos2Printer *)printerObj code:(int)code status:(Epos2PrinterStatusInfo *)status printJobId:(NSString *)printJobId
    {
        [ShowMsg showResult:code errMsg:[self makeErrorMessage:status]];

        [self dispPrinterWarnings:status];
        [self updateButtonState:YES];

        [self performSelectorInBackground:@selector(disconnectPrinter) withObject:nil];
    }
ios objective-c iphone-sdk-3.0 printers epson
1个回答
0
投票

我通过一个队列来解决此问题,该队列使用maxConcurrentOperationCount = 1的NSOperationQueue来规范操作的执行。

但是此解决方案会在打印操作之间延迟。所以现在,我搜索解决方案以立即打印(多个)。有什么建议么 ?问候。

© www.soinside.com 2019 - 2024. All rights reserved.