iOS检测UIWebView中显示的PDF中的URL

时间:2015-10-21 13:06:15

标签: ios objective-c pdf uiwebview

我目前在UIWebView中显示pdf文档。

[...]
[viewerWebView setDataDetectorTypes: UIDataDetectorTypeLink];
[viewerWebView performSelectorInBackground:@selector(loadRequest:) withObject:requestObj];
[viewerWebView setScalesPageToFit:YES];
[...]
(The code is shortened and is only here to show the main part of how I display the pdf in an UIWebView)

我正在拼命寻找一个解决方案,在这个pdf" tappable" (它是指向网站的超链接)。我知道有类似于" CGPDF"但是我不太确定如何实现与UIWebView一起使用的方法。我很高兴能够进一步使用WebView而不是另一种显示pdf的方式。如果有人之前一直在努力解决这个问题并且知道解决方案或者在网上知道一个好的教程,那么我非常感谢你的回答。

提前致谢, 帕特里克。

1 个答案:

答案 0 :(得分:1)

使用UIWebView,您的选项将仅限于

1)实现从PDF中提取文本,扫描链接,处理链接然后使用UIGraphicsSetPDFContextDestinationForRect添加指向文件的链接的代码。您将不得不重新呈现既缓慢又有损耗的内容,但对于简单的PDF文档,这可能会很慢,但效果还不错。

2)重新实现一切,从CGContextDrawPDFPage开始你还需要特殊的代码来提取文本(非常重要,准备深入研究CMaps是什么以及如何将文本转换为unicode )

我们在商业版PSPDFKit SDK中做了(2),目前适用于iOS和Android。在iOS上,您可以将autodetectLinkTypes设置为PSPDFTextCheckingTypeAll以启用此类检测。