如何在新活动中正确打开PDF?

时间:2018-09-10 19:13:07

标签: android pdf webview

我想在其他活动中查看/打开PDF,而不触发浏览器或下载PDF本身。

当前我正在使用以下代码:

String myPdfUrl = "http://example.com/awesome.pdf";
String url = "http://docs.google.com/gview?embedded=true&url=" + myPdfUrl;
Log.i(TAG, "Opening PDF: " + url);
webView.getSettings().setJavaScriptEnabled(true); 
webView.loadUrl(url);

但是,这似乎并不可靠。有时我的pdf已加载,有时未加载。有更好的方法吗?

我正在寻找一个打开远程托管pdf的库,而我得到的最接近的库是https://github.com/voghDev/PdfViewPager,但是它仅支持API 21,而我也需要支持API 19。同样,该库似乎只是下载PDF并打开它,而不是仅仅在Webview中显示它。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

  

我想在其他活动中查看/打开PDF,而不会触发浏览器或下载PDF本身

这是不可能的,除非您有一个将进行PDF渲染的网站。

  

但这似乎并不可靠

我不认为它是设计用于这种方式的。

  

有更好的方法吗?

构建您自己的网站,该网站可以将PDF呈现为某些内容(例如图像),然后在您的WebView中显示该网站。

下载PDF会容易得多。

答案 1 :(得分:0)

这个库呢?

https://github.com/barteksc/AndroidPdfViewer

用于显示使用PdfiumAndroid渲染的PDF的Android视图

答案 2 :(得分:0)

我已经基于Webview开发了一个组件,可在应用程序内部显示PDF文件。

You can find it here。希望对您有帮助