2013-09-02 12 views
5

pracuję nad aplikacją adnotacji PDF Dodałem adnotację do pliku PDF w telefonie iPhone to działa dobrze to adnotacja jest również widoczna dla każdego czytelnika, ale napotyka na jeden problem Jak uzyskać obraz z Załącznika do pliku Adnotacja w PDF plik którego tworzony jest adnotacja z pulpitu, jak można zrobić dla tego problemuJak uzyskać obraz z adnotacji FileAttachment w pliku PDF

używam tego kodu do dostać zawartość i lokalizację adnotacją od przywiązania plik adnotacji to działa dobrze

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

Aktualizacja

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

proszę mi pomóc

góry dziękuję

Odpowiedz

2

wreszcie rozwiązanie

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