我需要你的帮助。我已经阅读了有关打印的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];

}
}

10-07 19:43
查看更多