如何从PDF文件中的FileAttachment Annotation中获取图像

我正在工作的PDF注释应用程序我在iPhone中添加PDF文件注释它工作正常它注释也可见任何读者,但面临一个问题如何从文件附件注释中获取图像从PDF文件创build的注释,从桌面如何可以为这个问题

我正在使用此代码获取内容和注释的位置从文件附件注释它工作正常

CGPDFDictionaryRef pageDictionary = CGPDFPageGetDictionary(pPage); // NSLog(@"%@",(NSDictionary*)pageDictionary); CGPDFArrayRef outputArray; if(!CGPDFDictionaryGetArray(pageDictionary, "Annots", &outputArray)) { [pdfAnnots release]; return nil; } CGPDFArrayRef rectArray; if(!CGPDFDictionaryGetArray(annotDict, "Rect", &rectArray)) { break; } int arrayCount = CGPDFArrayGetCount( rectArray ); CGPDFReal coords[4]; for( int k = 0; k < arrayCount; ++k ) { CGPDFObjectRef rectObj; if(!CGPDFArrayGetObject(rectArray, k, &rectObj)) { break; } CGPDFReal coord; if(!CGPDFObjectGetValue(rectObj, kCGPDFObjectTypeReal, &coord)) { break; } coords[k] = coord; } CGRect rect = CGRectMake(coords[0],coords[1],coords[2],coords[3]); NSLog(@"%@",NSStringFromCGRect(rect)); 

更新

  CGPDFDictionaryRef aDict; if(CGPDFDictionaryGetDictionary(annotDict, "AP", &aDict)) { CGPDFStreamRef textStringRef33; if(CGPDFDictionaryGetStream(aDict, "N", &textStringRef33)) { UIImage *image= getImageRef(textStringRef33); CGPDFDataFormat *format = NULL; CFDataRef contdata = CGPDFStreamCopyData( textStringRef33, format ); NSData *data=(NSData*)contdata; } 

请帮帮我

先谢谢你

终于搞定了

 CGPDFDictionaryRef aDict; NSData *imagedata=nil; if(CGPDFDictionaryGetDictionary(annotDict, "FS", &aDict)) { CGPDFDictionaryRef embeddedFiles; if (CGPDFDictionaryGetDictionary (aDict, "EF", &embeddedFiles) ) { CGPDFStreamRef streamDict; if (CGPDFDictionaryGetStream(embeddedFiles, "F", &streamDict)) { CGPDFDataFormat *format = NULL; CFDataRef xmlData; xmlData = CGPDFStreamCopyData (streamDict, format); imagedata=(NSData*)xmlData; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; savedImagePath = [documentsDirectory stringByAppendingPathComponent:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; [(NSData*)xmlData writeToFile:savedImagePath atomically:NO]; } } }