一些UIPrintInteractionController选项不起作用

时间:2016-02-11 15:03:10

标签: ios printing

我正在将PDF和图像数据从手机打印到打印模拟器。打印机的输出看起来都很好,只是选项看起来不起作用。 (具体在显示的对话框中显示PageRange和Color)
1)在代码中(如下所示)我设置showsPageRange = NO但是当出现打印对话框时,它仍然可以选择更改页面范围。
2)如果我设置showsNumberOfCopies = NO,则此选项不会显示。 (因为它不应该,因为我把它设置为NO,但其他人似乎没有工作。)
3)无论我在打印对话框中选择什么,选项似乎都没有改变。例如,我正在发送一个彩色图像,如果我选择黑色和白色,它仍然作为颜色发送到打印机。如果我选择打印第一页,它仍然会将整个文档发送到打印机。

这是我的代码:

+(void)print:(id)data JobName:(NSString *)jobName Location:(UIBarButtonItem *)location {
    UIPrintInteractionController *printController = [UIPrintInteractionController sharedPrintController];

    UIPrintInfo *printInfo = [UIPrintInfo printInfo];
    printInfo.outputType = UIPrintInfoOutputGeneral;
    printInfo.jobName = jobName;
    printController.printInfo = printInfo;
    printController.printingItem = data;

    printController.showsNumberOfCopies = NO;
    printController.showsPageRange = NO;

    UIPrintInteractionCompletionHandler completionHandler =
    ^(UIPrintInteractionController *pc, BOOL completed,
      NSError *error) {
        if(!completed && error){
            NSLog(@"Print failed - domain: %@ error code %ld", error.domain,
                  (long)error.code);
        }
    };

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        [printController presentFromBarButtonItem:location animated:YES
                   completionHandler:completionHandler];
    } else {
        [printController presentAnimated:YES completionHandler:completionHandler];
    }
}

0 个答案:

没有答案