我可以以编程方式链接注释添加到PDF文件?(Can I programmatically add l

2019-10-18 03:09发布

我正在使用的UIWebView显示PDF文件的iPad应用程序。 我有,我想以编程方式添加链接到PDF。 为简单起见,让我们说有10个段落。 他们都是编号的,并在他们的文本中的几句话。 我希望能够以一个基本的链接莫名其妙地增加了PDF,这样,如果第2款被触摸,那么我的UIWebView可以处理与第2款有关的请求。

我不知道该PDF的结构就像是在里面。 我不知道如何扩大这几百页的每个段落。 但我想知道如果我能以某种方式添加一个链接或HTML到PDF,这样我可以用我的应用程序进行操作。

谢谢!

需要明确的是,我在iOS设备上查看此PDF,但我承认,要解决我的问题可能没有任何与可可触摸框架。 我要寻找任何形式的解决方案,让我看不见的链接添加到我的PDF的某些区域。

Answer 1:

如果你想要一个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];
}

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



文章来源: Can I programmatically add link annotation to PDFs?