-(void)addSignature:(UIImage *)imgSignature1 onPDFData:(NSData *)pdfData2 {
NSString *pdfPath = [[NSBundle mainBundle]pathForResource:@"ES6" ofType:@"pdf"];
NSData *pdfdata1 = [NSData dataWithContentsOfFile:pdfPath];
NSString *imagePath = [[NSBundle mainBundle]pathForResource:@"seal" ofType:@"png"];
UIImage *img = [UIImage imageWithContentsOfFile:imagePath];
NSMutableData* outputPDFData = [[NSMutableData alloc] init];
CGDataConsumerRef dataConsumer = CGDataConsumerCreateWithCFData((CFMutableDataRef)outputPDFData);
CFMutableDictionaryRef attrDictionary = NULL;
attrDictionary = CFDictionaryCreateMutable(NULL, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
CFDictionarySetValue(attrDictionary, kCGPDFContextTitle, CFSTR("My Doc"));
CGContextRef pdfContext = CGPDFContextCreate(dataConsumer, NULL, attrDictionary);
CFRelease(dataConsumer);
CFRelease(attrDictionary);
CGRect pageRect;
// Draw the old "pdfData" on pdfContext
CFDataRef myPDFData = (__bridge CFDataRef) pdfdata1;
CGDataProviderRef provider = CGDataProviderCreateWithCFData(myPDFData);
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithProvider(provider);
CGDataProviderRelease(provider);
NSInteger totoalPages = CGPDFDocumentGetNumberOfPages(pdf);
NSArray *array = @[@1, @2, @3, @4, @5, @6];
for(int i=0;i<totoalPages;i++){
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, i+1);
pageRect = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
CGContextBeginPage(pdfContext, &pageRect);
CGContextDrawPDFPage(pdfContext, page);
if(i<=5){
NSLog(@"contains interger %d",i);
pageRect = CGRectMake(0, 0,img.size.width , img.size.height);
CGImageRef pageImage = [img CGImage];
CGContextDrawImage(pdfContext, pageRect, pageImage);
}
CGPDFContextEndPage(pdfContext);
}
/**
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, 2);
pageRect = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
CGContextBeginPage(pdfContext, &pageRect);
CGContextDrawPDFPage(pdfContext, page);
// Draw the signature on pdfContext
pageRect = CGRectMake(0, 0,img.size.width , img.size.height);
CGImageRef pageImage = [img CGImage];
CGContextDrawImage(pdfContext, pageRect, pageImage);
// release the allocated memory
CGPDFContextEndPage(pdfContext);
// CGPDFContextClose(pdfContext);
CGPDFPageRef page1= CGPDFDocumentGetPage(pdf, 1);
pageRect = CGPDFPageGetBoxRect(page1, kCGPDFMediaBox);
CGContextBeginPage(pdfContext, &pageRect);
CGContextDrawPDFPage(pdfContext, page1);
// Draw the signature on pdfContext
pageRect = CGRectMake(0, 0,img.size.width , img.size.height);
// CGImageRef pageImage = [img CGImage];
CGContextDrawImage(pdfContext, pageRect, pageImage);
// release the allocated memory
CGPDFContextEndPage(pdfContext);
// CGPDFContextClose(pdfContext);
**/
CGContextRelease(pdfContext);
// write new PDFData in "outPutPDF.pdf" file in document directory
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *pdfFilePath =[NSString stringWithFormat:@"%@/outPutPDF.pdf",docsDirectory];
[outputPDFData writeToFile:pdfFilePath atomically:YES];
}