Приложение AirPrint для iPhone - PullRequest
2 голосов
/ 14 июля 2011

Я пытался получить эту печать, но она не отображается в симуляторе принтера.

Это мой код для печати:

-(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 страницу.

Есть идеи?

Спасибо.

...