如何在UIWEBVIEW中读取/解析加载的PDF内容

5
假设情况如下,我有一个 UIWebView 并登录了我的 Gmail 帐户,我收到了一封带有附加的 PDF 文件的电子邮件。现在我点击附件链接,webview 将在其中打开 pdf 文件。
此时,如果我尝试读取 html 内容,它会返回 NULL
请给我提供一个想法,如何读取/解析已加载在 webview 中的 pdf 内容,并将数据存储到 NSString 中。

1
使用 PDFKitten,您可以从 PDF 中提取文本。但在这里我们不使用 UIWebView:https://dev59.com/questions/H2855IYBdhLWcg3w5Igb#6506722 - Naveen Thunga
谢谢Naveen。嗯...你有关于Safari浏览器如何打开PDF文件的任何想法吗?我的意思是地址栏中显示的地址不以.pdf结尾。我真的不明白PDF文件以哪种格式加载在UI Webview上..:( - Veera Raj
1个回答

2
如果您有PDF文件的URL,那么直接在WebView中加载该URL,否则您需要使用NSURLRequest来下载文件,然后从应用程序的本地目录加载文件。我很乐意为您提供从本地目录加载PDF文件的代码,但我建议您先搜索一下谷歌。

感谢您的热情回复,Farrukh。就像您所说的那样,我只需直接从URL加载PDF文件即可。但现在我的需求是将PDF文本提取为NSString。 - Veera Raj
@ FARRUKH -- 如果将PDF内容下载为NSData,是否有可能像以下这样进行转换:NSString* currentURL = webView.request.URL.absoluteString;NSURL* url = [NSURL URLWithString:currentURL]; NSURLRequest* request1 = [NSURLRequest requestWithURL:url];NSURLResponse* response; NSError* error; NSData* result = [NSURLConnection sendSynchronousRequest:request1 returningResponse:&response error:&error]; NSString *myString = [[NSString alloc] initWithData:result encoding:NSASCIIStringEncoding];// - Veera Raj
你可以这样做,但结果肯定不会是你期望的。并非所需结果! - Farrukh Javeid
是的...但是我上面提到的方法适用于Word、PowerPoint和XLS文件。但不幸的是,对于PDF文件没有任何返回... :( - Veera Raj
是.doc格式还是.docx格式?因为docx也是一种基于XML的文件类型。据我所知,可能我错了,MS Office文件在2007版本之前的纯文本文件格式可以被读取,但是这种情况在后来的版本中不可能发生。 PDF文件也是如此。 - Farrukh Javeid
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接