我正在将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];
}
}