How to print NSString using AirPrint?

I have a real problem with this. I don't know what is wrong, but it spits it out:

ERROR: attempt to display print options without a print source (item / items / formatter / renderer) is installed

The code works if I set it to print a png image, but not for the contents of an NSString.

Here is my code:

- (IBAction)pushPrint:(id)sender {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterNoStyle];
    [dateFormatter setTimeStyle:NSDateFormatterLongStyle];
    [dateFormatter setDateFormat:@"dd/MM/YY     HH:mm:ss"];
    NSString* currentTime = [dateFormatter stringFromDate:[NSDate date]];
    [dateFormatter release]; 

    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];

    NSString *path = [[NSBundle mainBundle] pathForResource:t[NSString stringWithFormat:@"Results Printout\n"
                                                              "\n"
                                                              "%@\n"
                                                              "\n"
                                                              "\n"
                                                              "%@", currentTime, pasteboard.string] ofType:nil];

    NSData *myData = [NSData dataWithContentsOfFile:path];
    UIPrintInteractionController *print = [UIPrintInteractionController sharedPrintController];

    print.delegate = self;
    UIPrintInfo *printInfo = [UIPrintInfo printInfo];
    printInfo.outputType = UIPrintInfoOutputGeneral;
    printInfo.jobName = [path lastPathComponent];
    printInfo.duplex = UIPrintInfoDuplexLongEdge;
    print.printInfo = printInfo;
    print.showsPageRange = YES;
    print.printingItem = myData;

    void (^completionHandler)(UIPrintInteractionController *,BOOL, NSError *) = ^(UIPrintInteractionController *print,BOOL completed, NSError *error) {
        if (!completed && error) {
            NSLog(@"houston we have a problem");
        }
    };
    [print presentAnimated:YES completionHandler:completionHandler];
}
+5
source share
1 answer

, NSString, , . , myData nil (, ), , , (print.printingItem nil).

, UISimpleTextPrintFormatter ( initWithText:) print.printFormatter.

+8

All Articles