我可以以编程方式将链接注释添加到PDF中吗?

问题描述:

我正在制作一个使用UIWebView来显示PDF的iPad应用程序。我有一个PDF,我想以编程方式添加链接。为了简单起见,假设有10段。他们都被编号,并有几行文字。我想能够以某种方式添加到PDF的基本链接,以便如果第2段被触摸,那么我的UIWebView可以处理与第2段相关的请求。我可以以编程方式将链接注释添加到PDF中吗?

我不知道什么是PDF的结构就像在里面。我不知道如何将这个缩​​放到几百页的每一段。但我想知道如果我可以添加一个链接或HTML到PDF,以便我可以用我的应用程序来操纵它。

谢谢!

要清楚,我正在iOS设备上查看此PDF,但我认识到我的问题的解决方案可能与Cocoa-touch框架没有任何关系。我正在寻找任何类型的解决方案,这将允许我添加到PDF的某些区域的不可见链接。

如果你想让iPad应用程序识别文本字段,按钮,从PDF链接。您可以编辑实际的pdf(您需要Adobe Acrobat版本)并将这些字段添加到pdf中。在解析方法

:在iOS的代码使用类似解析PDF领域

-(void)parse:(CGPDFPageRef)page 
{ 
    for (int i = 0; i < CGPDFArrayGetCount (annotations); i++) 

CGPDFArrayGetCount返回一个PDF阵列的项目数。

在循环

抢字段名称:

if (CGPDFDictionaryGetString(dict, "T", &stringRef)) 
    { 
     char *s = (char *) CGPDFStringGetBytePtr(stringRef); 
     fieldName = [NSString stringWithCString:s encoding:NSUTF8StringEncoding]; 
    } 

检查,看看你想要做什么,如果一个字段名称相匹配,说“button_1”或“hlink_3”:

if ([fieldName isEqualToString:@"hlink_3"]) 
{ 
     // do whatever, example add a button where the field was 
     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
     button.frame = rect; 
     [self addSubview:button]; 
} 

有更多的是它,但这是一般的想法。

+0

几年后,回过头来看这个答案,你从哪里得到'rect'?这是我现在运行的主要问题,即如何获取PDF中文本的位置,因为它与主视图的坐标系有关。 – Lizza 2016-02-17 05:24:09