Ключи CGPDFDictionary

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

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

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

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

3 ответа

Решение

Абсурдно, что вам придется читать спецификации длиной 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

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

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

Другие вопросы по тегам