Как напечатать изображение до его точного размера в приложении iOS?

Я печатаю разные изображения в моем приложении. Проблема в том, что принтер всегда печатает изображение на всей странице. если размер изображения очень маленький, распечатайте принтер на всей странице и он выглядит очень плохо. Я использую следующий код для печати изображения:-

        NSData *dataFromPath = UIImageJPEGRepresentation(croppedImage, 1.0);
    if(printController && [UIPrintInteractionController canPrintData:dataFromPath]) {

        printController.delegate = self;
        UIPrintFormatter *my=[[UIPrintFormatter alloc]init];
        UIPrintInfo *printInfo = [UIPrintInfo printInfo];
        printInfo.outputType = UIPrintInfoOutputGeneral;
        printInfo.jobName = @"print image";
        printInfo.duplex = UIPrintInfoDuplexNone;
        printController.printInfo = printInfo;
        printController.showsPageRange = YES;
        printController.printingItem = dataFromPath;
        [printController presentFromRect:_btn_ShareAction.frame inView:_btn_ShareAction.superview animated:YES completionHandler:^(UIPrintInteractionController *printInteractionController, BOOL completed, NSError *error) {
            if (!completed && error) {
                NSLog(@"FAILED! due to error in domain %@ with error code %ld", error.domain, (long)error.code);
            }
        }];

    }

1 ответ

Вместо того, чтобы использовать printingItem Вы можете использовать printPageRenderer Соблюдайте и реализуйте свою собственную логику печати, которая позволит вам печатать в точном месте и размере по вашему желанию.

Другие вопросы по тегам