如何在iOS应用程序中将图像打印到其确切大小?

时间:2014-07-11 07:41:09

标签: ios objective-c ipad ipad-2 uiprintinteractioncntrler

我在我的应用程序中打印不同的图像。问题是打印机总是在整个页面中打印图像。如果图像尺寸很小,打印机在整个页面打印,看起来非常糟糕。我使用以下代码打印图像: -

        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 个答案:

答案 0 :(得分:0)

您可以使用printingItem属性来实现自己的打印逻辑,而不是使用printPageRenderer,这样您就可以根据需要打印确切的位置和大小。