Отпечатване на изображение от imageview :xcode

Може ли някой да ми каже как да отпечатам изображение от imageview с UIPrintInteractionController. Благодаря


person Ammar Ahmed    schedule 11.07.2012    source източник
comment
Животът (и обучението за програмиране) до голяма степен е самообслужване: google.com/search?q= UIPrintInteractionController   -  person spring    schedule 11.07.2012


Отговори (2)


Първо прочетете за AirPrinter и как да го използвате. Следвайте връзката: https://github.com/kharrison/CodeExamples/blob/master/AirPrinter/AirPrinter

Трябва да добавите файловете UYLGenericPrintPageRenderer.h и UYLGenericPrintPageRenderer.m

Вземете го от тук:

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

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

Това са файловете на PrintPageRenderer.

Импортирайте този файл във вашия клас:

#import "UYLGenericPrintPageRenderer.h"

Сега проверете дали вашето устройство поддържа печат или не:

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", както се използва тук като обект на клас 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];
}
person AJS    schedule 11.07.2012

Конвертирайте изображение в pdf и отпечатайте pdf.

person Ayman Melhem    schedule 11.07.2012