1

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

我不知道 PDF 的内部结构是什么样的。我不知道如何将其扩展到数百页的每一段。但我想知道是否可以以某种方式向 PDF 添加链接或 HTML,以便我可以使用我的应用程序对其进行操作。

谢谢!

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

4

1 回答 1

1

如果您想让 iPad 应用程序识别 pdf 中的文本字段、按钮、链接。您可以编辑实际的 pdf(您需要一个 Adob​​e 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];
}

它还有很多内容,但这是一般的想法。

于 2013-05-09T00:40:38.107 回答