我正在制作一款使用UIWebView显示PDF的iPad应用。我有一个PDF,我想以编程方式添加链接。为简单起见,我们可以说有10个段落。它们都已编号,并且其中包含几行文字。我希望能够以某种方式添加PDF的基本链接,以便在触摸第2段时,我的UIWebView可以处理与第2段相关联的请求。
我不知道内部的PDF结构是什么样的。我不知道如何将其扩展到几百页的每个段落。但我想知道我是否可以以某种方式向PDF添加链接或HTML,以便我可以使用我的应用程序来操作它。
谢谢!
要清楚,我正在iOS设备上查看此PDF,但我认识到我的问题的解决方案可能与Cocoa-touch框架没有任何关系。我正在寻找任何类型的解决方案,允许我添加不可见的链接到我的PDF的某些区域。
答案 0 :(得分: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];
}
还有更多内容,但这是一般的想法。