pdf as an email attachment in iOS device

user1140780 picture user1140780 · Jan 13, 2012 · Viewed 20.5k times · Source

I would like to attach pdf created as an email attachment. I used following tutorial to create pdf on iOS device.

The downloaded pdf can be viewed at this path: /Users/”Username”/Library/Application Support/iPhone Simulator/”Your App Directory”.

I have not tried running this on ios device but I need to attach it as an email.

Link for tutorial is : http://www.ioslearner.com/generate-pdf-programmatically-iphoneipad/

Any suggestion.

Answer

Evan picture Evan · Jan 13, 2012

Create a MFMailComposeViewController and call addAttachmentData:mimeType:fileName:. The data will be the PDF you created. The mimeType will be application/pdf. And the fileName will be the name of the file in the email attachment. The code might look like something below:

From the tutorial you'll need to render your PDF into a NSMutableData object:

NSMutableData *pdfData = [NSMutableData data];
UIGraphicsBeginPDFContextToData(pdfData, bounds, nil);

Then at some point in the future you'll need to pass that pdfData to the MFMailComposeViewController.

MFMailComposeViewController *vc = [[[MFMailComposeViewController alloc] init] autorelease];
[vc setSubject:@"my pdf"];
[vc addAttachmentData:pdfData mimeType:@"application/pdf" fileName:@"SomeFile.pdf"];