4.2 이상부터 사용할 수 있는 AirPrint 를 통해서 이미지를 인쇄하는 방법을 살펴보자.
PDF 나 문서를 출력하는 방법도 크게 달라지지는 않는다.


- (void) doAirPrint
{
    if ([UIPrintInteractionController isPrintingAvailable])
    {
        UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];                
        NSData *myData = [NSData dataWithData:UIImageJPEGRepresentation(MyImageView.image,1.0)];
        if(pic && [UIPrintInteractionController canPrintData: myData] ) {
            
            pic.delegate = self;
            
            UIPrintInfo *printInfo = [UIPrintInfo printInfo];
            printInfo.outputType = UIPrintInfoOutputPhoto;
            printInfo.jobName = @"myImage.1.0";
            printInfo.duplex = UIPrintInfoDuplexNone;
            printInfo.orientation = UIPrintInfoOrientationPortrait;
            pic.printInfo = printInfo;
            pic.showsPageRange = YES;
            pic.printingItem = MyImageView.image;
            pic.printFormatter = [MyImageView viewPrintFormatter];
            
            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);
                }
            };
            
            [pic presentAnimated:YES completionHandler:completionHandler];
        }
    }
}


 이미지가 인쇄되는 것을 확인할 수 있다. 추가로 UIPrintInteractionControllerDelegate 관련 메소드를 확인하면 보다 정확한 원하는 결과를 얻을 수 있을 것이다.

이 게시물을..