I am using the following code. it always gets into the destination string if. it does not go to get page number loop. if pdf found destination string then it will not go to else part. so how can i get the page number from destination string. You can see an example of the code below. Thanks in advance.

- (OutlineItem*)recursiveUpdateOutlines: (CGPDFDictionaryRef) outlineDic parent:(OutlineItem*) parentItem level:(NSUInteger) level;
{
    // update outline count
    outlineCount++;
    OutlineItem* item = [[OutlineItem alloc] init];
    // Level
    item.level = level;
    // Title
    CGPDFStringRef title;
    if(CGPDFDictionaryGetString(outlineDic, "Title", &title)) {
        const char* pchTitle = CGPDFStringGetBytePtr(title);
        item.title = [NSString stringWithUTF8String:pchTitle];
        // DEBUG
        //NSLog(item.title);
    }
    if (parentItem != nil) {
        // Add to parent
        [parentItem.children addObject:item];
        // Next
        CGPDFDictionaryRef nextDic;
        if (CGPDFDictionaryGetDictionary(outlineDic, "Next", &nextDic)) {
            [self recursiveUpdateOutlines:nextDic parent:parentItem level: level];
        }
    }
    // First child
    CGPDFDictionaryRef firstDic;
    if (CGPDFDictionaryGetDictionary(outlineDic, "First", &firstDic)) {
        [self recursiveUpdateOutlines:firstDic parent:item level: level + 1];
    }
    // Dest
    CGPDFStringRef destString;
    if(CGPDFDictionaryGetString(outlineDic, "Dest", &destString)) {
        const char* pchDest = CGPDFStringGetBytePtr(destString);
        CGPDFDictionaryRef destDic;
        if(CGPDFDictionaryGetDictionary(dests, pchDest, &destDic)) {
            NSLog(@"");
        }
        else {

            item.destString = [NSString stringWithUTF8String:pchDest];
        }


    } else {
        CGPDFDictionaryRef ADic;
        if (CGPDFDictionaryGetDictionary(outlineDic, "A", &ADic)) {
            const char* pchS;
            i
Edit
Report