2013-09-02 7 views
5

ich arbeite an PDF-Annotation App ich fügte PDF-Datei Annotation in iPhone es funktioniert gut es Annotation auch sichtbar jeden Leser aber vor einem Problem Wie man Bild von Datei Anhang Annotation in PDF Datei, deren Kommentierung von Desktop erstellt, wie für dieses Problem tun kannWie bekomme ich Bild von FileAttachment Annotation in PDF-Datei

ich diesen Code verwenden für Inhalt und Ort der Annotation von Dateianhang Annotation bekommt es funktioniert gut

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)); 

aktualisiert

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; 
    } 

bitte helfen Sie mir

Vielen Dank im Voraus

Antwort

2

endlich Lösung erhalten

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]; 
      } 
     } 
    } 
Verwandte Themen