目标C可可印刷

时间:2017-02-18 19:32:53

标签: objective-c cocoa

我想用Cocoa / Objective-C代码在收据上打印一段文字,没有任何提示。这该怎么做?任何示例代码或教程?

这份文件对我来说很高级 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Printing/osxp_aboutprinting/osxp_aboutprt.html#//apple_ref/doc/uid/10000083-SW1

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式跳过打印面板:在视图中输入要打印的文本所在的视图。

  NSPrintOperation *op = [NSPrintOperation printOperationWithView:aView printInfo:printInfo];
  [op setShowsPrintPanel:NO];
  [op runOperation];

如果您想隐藏进度面板,也可以拨打setShowsProgressPanel:NO

编辑*无论如何,这是一个不同的问题,这里的解决方案:提供一个字符串。创建一个新的文本字段,在文本字段中提供字符串,并在没有对话框的情况下打印出该文本字段。完成!

NSString *aString = [NSString stringWithFormat:@"A String. \nA new string"];
NSTextField *textField = [[NSTextField alloc] init];
[textField setStringValue:aString];
[textField setBordered:NO];
[textField sizeToFit];
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];

NSPrintOperation *op = [NSPrintOperation printOperationWithView:textField printInfo:printInfo];
[op setShowsPrintPanel:NO];
[op runOperation];