Question

I am currently creating a html file and storing it locally, i give the user the choice of sending the html by HTML or print.

For some reason it is failing to print. if i test -

     if([UIPrintInteractionController canPrintData:myData]){

it doesn't get past this point.

Is it possible to print local HTML files if so how to go about it.

Dan

edit code to create html -

   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *Daily = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.html",self.title]];
[urlToLoad  writeToFile:Daily atomically:YES encoding:NSUTF8StringEncoding error:NULL];


NSString *fileName = [NSString stringWithFormat:@"%@/%@.html", documentsDirectory,self.title];
NSData *myData = [NSData dataWithContentsOfFile:fileName]; 
Was it helpful?

Solution

[UIPrintInteractionController canPrintData:] is expecting the data to contain properly formatted PDF data, not HTML.

Try doing this instead:

UIPrintFormatter *formatter = [[UIMarkupTextPrintFormatter alloc] initWithMarkupText:html];

[[UIPrintInteractionController sharedPrintController] setPrintFormatter:formatter];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top