Я пытался получить эту печать, но она не отображается в симуляторе принтера.
Это мой код для печати:
-(void)printItem:(NSString*)path {
// NSString *path = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"png"];
NSData *dataFromPath = [NSData dataWithContentsOfFile:@"http://www.endnote.com/support/helpdocs/EN%208%20Scripted%20Demo.pdf"];
// path = @"http://www.samplepdf.com/sample.pdf";
path = @"http://www.endnote.com/support/helpdocs/EN%208%20Scripted%20Demo.pdf";
UIPrintInteractionController *printController = [UIPrintInteractionController sharedPrintController];
NSLog(@"Can we print? %@",printController);
// NSLog(@"Secondly, Can we print? %@",[UIPrintInteractionController canPrintURL:[NSURL URLWithString:path]]);
// if(printController && [UIPrintInteractionController canPrintData:dataFromPath]) {
printController.delegate = self;
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = [path lastPathComponent];
printInfo.duplex = UIPrintInfoDuplexLongEdge;
printController.printInfo = printInfo;
printController.showsPageRange = YES;
printController.printingItem = [NSURL URLWithString:path];
void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {
if (!completed && error) {
NSLog(@"FAILED! due to error in domain %@ with error code %u", error.domain, error.code);
}
};
[printController presentAnimated:YES completionHandler:completionHandler];
// }
}
Всплывающее окно параметров принтераи позволяет мне выбрать, какой принтер, диапазон, копировать и двусторонний.Когда я нажимаю диапазон, он знает, что URL, который я пытаюсь распечатать, содержит 4 страницы.Я знаю это, потому что когда я пытаюсь использовать другой URL с 1 страницей, диапазон страниц показывает 1 страницу.
Есть идеи?
Спасибо.