Как получить доступ к гиперссылкам в документах PDF (iPhone)? - PullRequest
9 голосов
/ 08 августа 2009

Можно ли получить доступ к "внутренним" ссылкам в документах PDF с помощью CGPDFDocument или другими способами? Я создаю простое приложение для чтения и хотел бы доставить свое содержимое в формате PDF, но если я не могу поддерживать ссылки между страницами в документе, это, вероятно, не сработает.

Этот вопрос аналогичен, но не касается вопроса о том, как поддерживать гиперссылки.

Ответы [ 4 ]

2 голосов
/ 10 августа 2010

Смотрите мой ответ здесь .По сути, вам необходимо ознакомиться с аннотациями PDF-ссылок.

1 голос
/ 08 сентября 2011

см. Этот пример кода ... гиперссылки pdf работают в этом

https://github.com/vfr/Reader

0 голосов
/ 31 августа 2010

Нужно сделать в два этапа.

Во-первых: проанализируйте ваш pdf, чтобы найти отмеченных операторов контента

Это пример кода синтаксического анализа:

-(void)parseContent() {
    CGPDFOperatorTableRef myTable;
    myTable = CGPDFOperatorTableCreate();
    CGPDFOperatorTableSetCallback(myTable, "BMC", &myOperator_BMC);
    CGPDFContentStreamRef myContentStream = CGPDFContentStreamCreateWithPage(page);
    CGPDFScannerRef myScanner = CGPDFScannerCreate(myContentStream, myTable, autoZoomAreas);
    CGPDFScannerScan(myScanner);
    CGPDFScannerRelease(myScanner);
    CGPDFContentStreamRelease(myContentStream); 
}

void myOperator_BMC(CGPDFScannerRef s, void *info)
{
    const char *name;
    CGPDFScannerPopName(s, &name);
}

(Вам необходимо заполнить и настроить этот код в соответствии с вашими требованиями)

Второе: ответьте на сообщение toucheEnded, чтобы обработать нажатие на эти зоны и заставить интерфейс реагировать соответствующим образом.

0 голосов
/ 11 августа 2009

Если вы используете Кварц, чтобы открыть и просмотреть PDF , то да, похоже, у вас будет доступ к внутренним ссылкам. Кварц также позволит вам добавлять новые ссылки в PDF-файлы. У меня нет опыта работы с iPhone / Mac, но было бы странно позволить вам добавлять гиперссылки, но не использовать их.

...