Результат CGPDFDocumentGetPage
- это то же самое, что и косвенная ссылка на страницу, которую вы получаете при разрешении адресата в контурном элементе. Оба по сути являются словарями, и вы можете сравнить их, используя ==
. Если у вас есть CGPDFDictionaryRef
, что вы хотите знать номер страницы, Вы можете сделать что-то вроде этого:
CGPDFDocumentRef doc = ...;
CGPDFDictionaryRef outlinePageRef = ...;
for (int p=1; p<=CGPDFDocumentGetNumberOfPages(doc); p++) {
CGPDFPageRef page = CGPDFDocumentGetPage(doc, p);
if (page == outlinePageRef) {
printf("found the page number: %i", p);
break;
}
}
Явное назначения, однако это не страница, а массив с первым элементом является страница. Другими элементами являются положение прокрутки на странице и т. Д.
Спасибо за предложения Vineet. Я попробую. –
@vinnet Я новичок в QuickLook. Как получить outlinePageRef из 'QLPreviewController'? –