我需要你的帮助。我已经阅读了有关打印的Apple文档,但是我很难理解如何打印Scroll View的所有内容。我目前为止知道要检查打印机是否可用
//-----------Check for printer-------------------
if ([UIPrintInteractionController isPrintingAvailable]) {
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction
target:self
action:@selector(printWebView:)];
[self.navigationItem setLeftBarButtonItem:barButton animated:NO];
self.printButton = barButton;
}
如果有人可以提供实际打印作业的代码,我将非常感激。
提前致谢...
最佳答案
抓取屏幕截图并打印
/ *抓取屏幕截图并打印* /
-(void)printItem {
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIPrintInteractionController *printController = [UIPrintInteractionController sharedPrintController];
if(printController ) {
printController.delegate = self;
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = @"resultado";
printInfo.duplex = UIPrintInfoDuplexLongEdge;
printController.printInfo = printInfo;
printController.showsPageRange = YES;
printController.printingItem = newImage;
void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {
if (!completed && error) {
NSLog(@"FAILED! due to error in domain %@ with error code %u", error.domain, error.code);
}
};
[printController presentAnimated:YES completionHandler:completionHandler];
}
}