OGeek|极客世界-中国程序员成长平台

标题: iOS 检测 UIWebView 中显示的 PDF 中的 URL [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:34
标题: iOS 检测 UIWebView 中显示的 PDF 中的 URL

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

[...]
[viewerWebView setDataDetectorTypes: UIDataDetectorTypeLink];
[viewerWebView performSelectorInBackgroundselector(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 中创建一个“可点击”的 url(它是一个网站的超链接)。我知道有类似“CGPDF”的东西,但我不太确定如何实现它以与 UIWebView 一起使用。我很高兴能够进一步使用该 WebView 而不是另一种显示 pdf 的方式。如果有人以前一直在为此苦苦挣扎并且知道解决方案或知道在线的好教程,我将非常感谢您的回答。

提前致谢, 帕特里克。



Best Answer-推荐答案


使用 UIWebView,您的选择将被限制为任一

1) 实现从 PDF 中提取文本、扫描链接、处理它然后使用 UIGraphicsSetPDFContextDestinationForRect 的代码添加链接到您的文件。您必须重新渲染内容,这是一个缓慢且有损的过程,但对于简单的 PDF 文档,这可能会很慢,但效果很好。

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

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

关于iOS 检测 UIWebView 中显示的 PDF 中的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33260175/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4