Ключи CGPDFDictionary - PullRequest
       19

Ключи CGPDFDictionary

2 голосов
/ 19 мая 2011

Я схожу с ума, потому что не могу найти, какие клавиши «по умолчанию» у вас были бы в документе PDF.

Например, если я хочу получить гиперссылку из CGPDFDocument, я делаю это:

CGPDFStringRef uriStringRef;
if(!CGPDFDictionaryGetString(aDict, "URI", &uriStringRef)) {
    break;
}

В этом случае ключ "URI". Есть ли документ, объясняющий, каковы ключи CGPDFDictionary?

Ответы [ 3 ]

12 голосов
/ 17 мая 2013

Абсурдно, что вам придется читать спецификации длиной 1300 страниц, чтобы просто найти, какие ключи содержит словарь, словарь, который может содержать все, что угодно, в зависимости от того, какая это аннотация.

Чтобы получить списокключей в CGPDFDictionaryRef вы делаете:

// temporary C function to print out keys
void printPDFKeys(const char *key, CGPDFObjectRef ob, void *info) { 
    NSLog(@"key = %s", key);
}

В том месте, где вы пытаетесь увидеть содержимое:

CGPDFDictionaryRef mysteriousDictionary; // this is your dictionary with keys
CGPDFDictionaryApplyFunction(mysteriousDictionary, printPDFKeys, NULL);
// break on or right after above, and you will have the list of keys NSLogged
3 голосов
/ 19 мая 2011

Справочник по Adobe PDF описывает все ключи.

1 голос
/ 19 мая 2011

Ключи в словаре зависят от реального объекта, который представляет словарь (словарь страницы имеет другие ключи, чем словарь аннотаций).Справочник Adobe PDF описывает все эти объекты и их ключи.

...