PDF Generate from View

 

– (IBAction)btnGeneratePDFPress:(id)sender

{

    

    [self createPDFfromUIView:self.view saveToDocumentsWithFileName:@”NewPDF.pdf”];

    

}

-(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename

{

    // Creates a mutable data object for updating with binary data, like a byte array

    NSMutableData *pdfData = [NSMutableData data];

    

    // Points the pdf converter to the mutable data object and to the UIView to be converted

    UIGraphicsBeginPDFContextToData(pdfData, aView.bounds, nil);

    UIGraphicsBeginPDFPage();

    CGContextRef pdfContext = UIGraphicsGetCurrentContext();

    

    

    // draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData

    

    [aView.layer renderInContext:pdfContext];

    

    // remove PDF rendering context

    UIGraphicsEndPDFContext();

    

    // Retrieves the document directories from the iOS device

    NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);

    

    NSString* documentDirectory = [documentDirectories objectAtIndex:0];

    NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];

    

    // instructs the mutable data object to write its context to a file on disk

    [pdfData writeToFile:documentDirectoryFilename atomically:YES];

    NSLog(@”documentDirectoryFileName: %@”,documentDirectoryFilename);

}

Download Sample Project From GitHub

Leave a comment