2012-07-11 6 views
0

누구든지 UIPrintInteractionController를 사용하여 imageview에서 이미지를 인쇄하는 방법을 알려줄 수 있습니까? 감사합니다.imageview에서 이미지 인쇄 : xcode

+4

생명 (및 프로그래밍 방법 학습)은 주로 셀프 서비스입니다. http://www.google.com/search?q=UIPrintInteractionController –

답변

1

먼저 읽기 사용하기 :

https://github.com/kharrison/CodeExamples/blob/master/AirPrinter/AirPrinter/UYLGenericPrintPageRenderer.h

https://github.com/kharrison/CodeExamples/blob/master/AirPrinter/AirPrinter/UYLGenericPrintPageRenderer.m

다음은 PrintPageRenderer 파일입니다.

가져 오기 클래스에서이 파일을

if ([UIPrintInteractionController isPrintingAvailable]) { 

    UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(printImageView)]; 
    [self.navigationItem setRightBarButtonItem:barButton animated:NO]; 
    self.printButton = barButton; 
    [barButton release]; 

} 
else { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"Sorry, Printing is not available" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil]; 
    [alert show]; 
    [alert release]; 
} 

지금 대상으로 여기에 사용 된 "printImageView"인 이미지를 인쇄 :

#import "UYLGenericPrintPageRenderer.h" 

지금 장치를 확인 인쇄 여부를 지원합니다 UIImageView 클래스

- (void)printImageView{ 

UIPrintInteractionController *pc = [UIPrintInteractionController sharedPrintController]; 

UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
printInfo.outputType = UIPrintInfoOutputGeneral; 
printInfo.jobName = @"Sample Print"; 
pc.printInfo = printInfo; 
pc.showsPageRange = YES; 

UYLGenericPrintPageRenderer *renderer = [[UYLGenericPrintPageRenderer alloc] init]; 
renderer.headerText = printInfo.jobName; 
renderer.footerText = @"AirPrinter Sample"; 

UIViewPrintFormatter *formatter = [printImageView viewPrintFormatter]; 
[renderer addPrintFormatter:formatter startingAtPageAtIndex:0]; 
pc.printPageRenderer = renderer; 
[renderer release]; 

UIPrintInteractionCompletionHandler completionHandler = 
^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { 
    if(!completed && error){ 
     DLog(@"Print failed - domain: %@ error code %u", error.domain, error.code); 
    } 
}; 

    [pc presentFromBarButtonItem:self.printButton animated:YES completionHandler:completionHandler]; 
} 
관련 문제