是否可以使用CGPDFDocument
或其他方式访问PDF文档中的“内部”链接?我正在构建一个简单的阅读器应用程序,并希望以PDF格式提供我的内容,但如果我不能支持文档中页面之间的链接,这可能不起作用。
This question类似,但没有解决如何支持超链接的问题。
答案 0 :(得分:2)
请参阅我的回答here。基本上,您需要熟悉PDF链接注释。
答案 1 :(得分:1)
请参阅此示例代码... pdf超链接适用于此
答案 2 :(得分:0)
如果您正在使用Quartz to open and view a PDF,那么是的,您似乎可以访问内部链接。 Quartz还允许您add new links到PDF。我没有iPhone / Mac开发的第一手经验,但是让他们添加超链接但不使用超链接会很奇怪。
答案 3 :(得分:0)
您需要分两步完成。
首先:解析你的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消息以处理这些区域的点击并使UI响应。