问题描述:
在IOS中有三个nsmutable数组。要使用printer打印类似下面的数据,怎么实现?
举例:
[plain] 0.5 1 10 1 10 11 2 5 22 3 4 6
0.5 1 10 1 10 11 2 5 22 3 4 6 解决方案:
用UIPrintInteractionController来实现:
具体代码:
[plain] NSMutableString *stringToPrint = [[NSMutableString alloc] initWithString:@""]; for(int i = 0;i<[array count];i++) { [stringToPrint appendFormat:@"%@",[array objectAtIndex:i]]; if(i%2 == 0) { [stringToPrint appendFormat:@"\n"]; } else { [stringToPrint appendFormat:@"\t"]; } } UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; UIPrintInfo *printInfo = [UIPrintInfo printInfo]; printInfo.outputType = UIPrintInfoOutputGeneral; printInfo.jobName = @"Midhun"; pic.printInfo = printInfo; UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc] initWithText:stringToPrint]; textFormatter.startPage = 0; textFormatter.contentInsets = UIEdgeInsetsMake(72.0, 72.0, 72.0, 72.0); // 1 inch margins textFormatter.maximumContentWidth = 6 * 72.0; pic.printFormatter = textFormatter; pic.showsPageRange = YES; void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { if (!completed && error) { NSLog(@"Printing could not complete because of error: %@", error); } }; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { [pic presentFromBarButtonItem:sender animated:YES completionHandler:completionHandler]; } else { [pic presentAnimated:YES completionHandler:completionHandler]; }
NSMutableString *stringToPrint = [[NSMutableString alloc] initWithString:@""]; for(int i = 0;i<[array count];i++) { [stringToPrint appendFormat:@"%@",[array objectAtIndex:i]]; if(i%2 == 0) { [stringToPrint appendFormat:@"\n"]; } else { [stringToPrint appendFormat:@"\t"]; } } UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
UIPrintInfo *printInfo = [UIPrintInfo printInfo]; printInfo.outputType = UIPrintInfoOutputGeneral; printInfo.jobName = @"Midhun"; pic.printInfo = printInfo;
UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc] initWithText:stringToPrint]; textFormatter.startPage = 0; textFormatter.contentInsets = UIEdgeInsetsMake(72.0, 72.0, 72.0, 72.0); // 1 inch margins textFormatter.maximumContentWidth = 6 * 72.0; pic.printFormatter = textFormatter; pic.showsPageRange = YES;
void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { if (!completed && error) { NSLog(@"Printing could not complete because of error: %@", error); } }; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { [pic presentFromBarButtonItem:sender animated:YES completionHandler:completionHandler]; } else { [pic presentAnimated:YES completionHandler:completionHandler]; }
|