2014-12-11 1 views
0

Мое приложение в настоящее время создает изображение размером 2480 3508 (A4 Page) Как отправить это изображение на AirPrint на странице формата А4? После создания изображения он сохраняет его в приложении для фотографий, и я также хотел бы отправить его для печати. Есть идеи? СпасибоAirPrint UIImage A4

ответ

1

Вам нужно будет использовать UIPrintInteractionController и установить изображение как typItem. В зависимости от качества печати, которое вы выбираете (режим фото или стандартный), бумага по умолчанию может быть меньше, чем a4, но пользователь может выбрать a4 в диалоговом окне печати.

`- (void) printImage: (UIImage *) myImage { 
UIPrintInteractionController *controller = [UIPrintInteractionController sharedPrintController]; 
    UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
    printInfo.outputType = UIPrintInfoOutputPhoto; 
    printInfo.jobName = @"Testprint"; 
    printInfo.duplex = UIPrintInfoDuplexNone; 
    controller.printingItem = myImage; 
    controller.showsPaperSelectionForLoadedPapers = YES; 

    void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = 
    ^(UIPrintInteractionController *pic, BOOL completed, NSError *error) { 
    if (!completed && error) 
     NSLog(@"FAILED! due to error in domain %@ with error code %u", 
       error.domain, error.code); 
     NSLog(@"Completed: %s", (completed?"YES":"NO")); 
    }; 
    [controller presentAnimated:YES completionHandler:completionHandler]; 
}` 
0

СВИФТ 3 версия

func printNow(_ image: UIImage){ 
    let controller = UIPrintInteractionController.shared 
     let printInfo = UIPrintInfo.printInfo() 
     printInfo.outputType = .photoGrayscale//.photo 
     printInfo.jobName = "Testprint"; 
     printInfo.duplex = .none 
     controller.printingItem = image 
     controller.showsPaperSelectionForLoadedPapers = false 

     controller.present(animated: true) { (controller, completed, error) in 
      if (!completed && (error != nil)) { 
       print("FAILED! due to error \(error.debugDescription)") 
      } 
      print("Completed: \(completed)") 
    } 
}