AirPrint UIImage A4

В настоящее время мое приложение создает изображение размером 2480 3508 (страница A4). Как отправить это изображение в AirPrint на странице A4? Как только изображение создано, оно сохраняется в приложении для фотографий, и я также хотел бы отправить его на печать. Любые идеи? Спасибо


person Tom Coomer    schedule 11.12.2014    source источник


Ответы (2)


Вам нужно будет использовать UIPrintInteractionController и установить изображение как printItem. В зависимости от выбранного вами качества печати (фоторежим или стандартное) бумага по умолчанию может быть меньше формата 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];
}`
person palugu    schedule 19.06.2015

СВИФТ 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)")
    }
}
person drpawelo    schedule 12.07.2017