问题:如何毫不拖延地打印(多张)收据?
据我所知,在 OSX 或 iOS 设备上使用 T88V 打印至少有 3 个选项。不幸的是,所有这三个选项都有缺陷。
选项 1:我一直在使用官方 OSX 驱动程序(最新版本 1.2a)并且使用它打印没有问题。但是,在每个打印命令之间,有 1 秒的延迟。
- (IBAction)button1:(id)sender
{
[self TMAppPrint];
}
- (OSStatus)TMAppPrint
{
TMTextView *textWindow = [[TMTextView alloc] init];
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
OSStatus err = noErr;
err = [TMPrintSupport TMSetJobTicket:printInfo printerName:@"TM-T88V" documentSize:NSMakeSize(204.0, 841.8) resolution:@"180x180dpi" speed:@"1" blank:@"Off" paperCut:@"DocFeedCut" chashDrwr1:@"Off" chashDrwr2:@"Off" buzzerControl:@"Off" buzzerPattern:@"Internal" buzzerRepeat:@"1"];
NSPrintOperation *printOperation = [NSPrintOperation printOperationWithView:textWindow printInfo:printInfo];
[printOperation setCanSpawnSeparateThread:YES];
[printOperation setShowsPrintPanel:NO];
[printOperation runOperation];
return err;
}
选项 2:使用 iOS SDK(最新版本 1.3.0)我也可以毫无问题地打印,但情况更糟。发送打印命令后,将有 1 秒的延迟直到打印。
- (IBAction)button2:(id)sender
{
if (printer != nil)
{
errorStatus = EPOS_OC_SUCCESS;
if (builder != nil)
{
int printStatus = EPOS_OC_SUCCESS;
// create a print document
printStatus = [builder addTextLang: EPOS_OC_LANG_EN];
printStatus = [builder addTextSmooth: EPOS_OC_TRUE];
printStatus = [builder addTextFont: EPOS_OC_FONT_A];
printStatus = [builder addTextSize: 1 Height: 1];
printStatus = [builder addTextStyle: EPOS_OC_FALSE Ul: EPOS_OC_FALSE Em: EPOS_OC_TRUE Color: EPOS_OC_PARAM_UNSPECIFIED];
// specify the print data>
printStatus = [builder addText: @"hello!\n"];
printStatus = [builder addCut: EPOS_OC_CUT_FEED];
// send data>
errorStatus = [printer sendData:builder Timeout:1000 Status: &status];
// end communication with the printer>
errorStatus = [printer closePrinter];
}
}
}
选项 3:最后一个选项是使用 ESC/POS 命令。我设法让它打印了一些基本的行,但我仍然不明白其中的大部分内容。不过打印没有延迟。
- (IBAction)button3:(id)sender
{
printer = [[EposPrint alloc] init];
errorStatus = [printer openPrinter:EPOS_OC_DEVTYPE_TCP DeviceName:@"192.168.1.168"];
builder = [[EposBuilder alloc] initWithPrinterModel:@"TM-T88V" Lang:EPOS_OC_MODEL_ANK];
}
我已经直接向爱普生询问过这个问题,但他们无法给我任何答案,除非它按预期工作......这意味着我必须深入研究 ESC/POS 命令并学习它,还是还有其他选择?