无法在WebView中打开PDF文档

3

我正在使用WebView来打开一个URL,实际上它是一个PDF文档。以下是代码片段。

WebView webView = (WebView) context.findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.loadUrl("http://www.stagecoachbus.com/PdfUploads/Timetable_28768_5.pdf");

获取的错误如下:

EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up

我可以打开普通的网页,但是打开pdf文件会出现异常。

有什么想法吗?

谢谢!


1
大家好,感谢回答!我决定将PDF文档下载到手机上,并使用通用的PDF阅读器打开。 - Renjith
3个回答

11

在Webview中打开PDF文件时,最好通过Google Doc服务来显示PDF文件。

WebView webView = (WebView) context.findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.loadUrl("http://docs.google.com/gview?embedded=true&url=http://www.stagecoachbus.com/PdfUploads/Timetable_28768_5.pdf");

它可以帮助您展示PDF。


是的,它会起作用。但是没有谷歌文档服务也能工作吗? - Renjith
展示PDF文件而不使用Google服务 > 这篇文章可以帮助你,但是你不能在Webview中展示。>>http://stackoverflow.com/questions/6728920/pdf-viewer-api-library-for-android-app-sample-code - Md Abdul Gafur
Google Docs 的方法似乎无法处理本地 PDF 文件,您能否提供一个本地文件的示例? - Alfie Hanssen
3
谷歌文档的建议太糟糕了。你有一个专为小屏幕的电脑设计的谷歌文档阅读器。这怎么能被认为是一个好解决方案呢?难道你们都是故意设计丑陋的应用吗?根本不方便用户。这个解决方案应该是违法的。 - shoke

1

如果您想要离线阅读PDF文件

您可以使用mupdf-android库。这是一款很好的库。

我在我的一个应用程序中使用过它。它是用C语言编写的,有详细的说明可以让它正常工作。


-1
请检查您要预览的文件大小,因为最大文件大小限制为25MB。

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