Как я могу избавиться от полей страницы с помощью UIPrintInteractionController для Airprint

Я пытаюсь AirPrint UIImage с использованием UIPrintInteractionController, этот код работает успешно, за исключением того, что к предварительному просмотру печати добавляется поле, что мне не желательно. Как я могу настроить левое, правое, верхнее и нижнее поля на ноль или другие значения? я знаю о printablerect, но как его изменить? Спасибо за помощь заранее:)

 UIPrintInteractionController *pic = [UIPrintInteractionController    sharedPrintController];
 NSData *imageData=UIImageJPEGRepresentation(imageforPrint, 1.0);
 if (pic && [UIPrintInteractionController canPrintData: imageData] ) {
     pic.delegate = self;

     UIPrintInfo *printInfo = [UIPrintInfo printInfo];
     printInfo.outputType = UIPrintInfoOutputGeneral;
     printInfo.jobName = @"Job 1";
     printInfo.duplex = UIPrintInfoDuplexLongEdge;
     pic.printInfo = printInfo;

     UIPrintPageRenderer *renderer = [[UIPrintPageRenderer alloc] init];

     UIPrintFormatter *Formatter = [[UIPrintFormatter alloc] init];
     Formatter=pic.printFormatter;
     Formatter.startPage=0;
     Formatter.perPageContentInsets = UIEdgeInsetsMake(0.0, 0.0, 0.0, 0.0);

     Formatter.startPage=0;

     [renderer Formatter startingAtPageAtIndex: 0];

     pic.showsPaperSelectionForLoadedPapers=YES;
     pic.printPageRenderer=renderer;

     pic.printFormatter=Formatter;
     pic.printingItem = imageData;
     pic.showsPageRange = YES;

     void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) =
                                ^(UIPrintInteractionController *pic, BOOL completed, NSError *error) {
           //self.content = nil;
           if (!completed && error)
               NSLog(@"FAILED! due to error in domain %@ with error code %ld", error.domain, (long)error.code);

     };

     [pic presentAnimated:YES completionHandler:completionHandler];

0 ответов

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