Я новичок в основной графике Apple для PDF. Я разрабатываю приложение для отображения PDF со ссылками / действиями, которые перейдут на страницу х / у. Первый код / справка, которую я нашел, был здесь . Но этот код предназначен для внешних URL-адресов веб-сайтов. В документе PDF с Adobe.com я узнал, что мне нужно использовать действие «Перейти». Я пробовал все 3 типа (объект, имя и строка байтов), но это не работает. Кто-нибудь может подсказать мне, что я делаю не так?
for (unsigned i = 0; i < arrayCount; ++i) {
CGPDFObjectRef aDictObj;
if (!CGPDFArrayGetObject(outputArray, i, &aDictObj)) {
return;
} // END if
CGPDFDictionaryRef annotDict;
if(!CGPDFObjectGetValue(aDictObj, kCGPDFObjectTypeDictionary, &annotDict)) {
return;
} // END if
CGPDFDictionaryRef aDict;
if(!CGPDFDictionaryGetDictionary(annotDict, "A", &aDict)) {
return;
} // END if
const char *gotoNameRef;
CGPDFArrayRef gotoArray;
if (CGPDFDictionaryGetArray(aDict, "D", &gotoArray)) {
if (!CGPDFArrayGetName(gotoArray, 0, &gotoNameRef)) {
return;
}
} else {
return;
} // END if
int gotoCounter = CGPDFArrayGetCount(gotoArray);
CGPDFArrayRef rectArray;
if(!CGPDFDictionaryGetArray(annotDict, "Rect", &rectArray)) {
return;
} // END if
int arrayCount = CGPDFArrayGetCount( rectArray );
CGPDFReal coords[4];
for( int k = 0; k < arrayCount; ++k ) {
CGPDFObjectRef rectObj;
if(!CGPDFArrayGetObject(rectArray, k, &rectObj)) {
return;
} // END if
CGPDFReal coord;
if(!CGPDFObjectGetValue(rectObj, kCGPDFObjectTypeReal, &coord)) {
return;
} // END if
coords[k] = coord;
} // END for
Спасибо за любую помощь.