我是第一次接触苹果的PDF核心图形。我开发了一个应用程序来显示一个带有链接/动作的PDF,它将转到x/y页面。我找到的第一个代码/帮助是here。但这些代码是针对网站的外部URL的。在Adobe.com的pdf ref文档中,我发现我必须使用"GoTo“操作。我尝试了所有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谢谢你的帮助。
发布于 2011-09-22 02:45:53
https://stackoverflow.com/questions/5328847
复制相似问题