【问题标题】:Android - Load PDF / PDF ViewerAndroid - 加载 PDF / PDF 查看器
【发布时间】:2010-12-17 07:47:07
【问题描述】:

我想在 webview 上显示 pdf 内容。

这是我的代码:

WebView webview = new WebView(this); 
setContentView(webview); 
webview.getSettings().setJavaScriptEnabled(true); 
webview.loadUrl("URL/Demo_PDF.pdf");

问题:

当我尝试运行该应用程序时,当时我得到了空白屏幕。

而且,如果有任何 PDF 查看器,那么也建议我!

仅供参考,我已经设置了互联网权限。

【问题讨论】:

  • 总而言之,这个问题现在太老了,当时 PDF 查看器/阅读器不可用,所以我用这个解决方案做了

标签: android pdf


【解决方案1】:

最后,我找到了一个解决方案,实际上我做了一个技巧,在 webview 中使用 Google Docs 加载 pdf 文件:

webview.loadUrl("http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf");

【讨论】:

  • @anticafe 你在代码中使用过 setJAvascriptenabled(true) 吗?
  • 哦,我明白了。默认情况下,Android webview 禁用 Javascript。所以每次创建一个webview,我们都要setJAvascriptenabled(true)。
  • 为什么你们都为这个问题发布相同的解决方案?这不是 PDF 离线阅读的解决方案。
  • @Emerald214 请检查问题日期,当时 muPDF 和其他类型的 API 和库不可用。
  • @MehulJoisar 那又怎样!最终,您将免费获得 PDF 阅读器 :)
【解决方案2】:

很抱歉,WebView 不显示 PDF 内容。
您可能需要一个响应 PDF MIME 类型的 PDF 查看器。

这里有几个你可能想要查看的免费开源库:

【讨论】:

  • 那么这个 MIME 类型呢:android:mimeType="application/pdf" ?
  • 检查this
【解决方案3】:

您可以尝试使用 mupdf (www.mupdf.com) 您可以使用 ndk 构建本机代码库 (libmupdf.so) 以加载到您的 android 项目中。 这将确保更快地呈现 pdf 文件... 查看项目:http://mupdf.com/repos/mupdf/android/

【讨论】:

  • 我成功地建立了图书馆。 (libmupdf.so)
  • 我还没有NDK的想法,所以很难实现,你能把构建的库传给我吗??
  • 到目前为止,我构建的库为 pdf 中的所有页面生成 png 文件,并且还将原始光栅数据存储到 sdcard 中。在渲染 pdf 时,就像在 Android 上的“视图”上一样,您需要参考“mupdf-android”项目。如果需要,我可以分享我构建的库。
  • Roy,你能把你构建的“libmupdf.so”库传递给你吗? sachin6670i@gmail.com
  • 抱歉耽搁了,这个文件很大,最大到 7 MB。此外,我开发的接口仅用于导出栅格数据...请告诉我是否可以通过编程方式提供帮助...
【解决方案4】:

WebView 没有 PDF 插件。您应该将 PDF 存储在本地并打开意图以查看此类内容。

【讨论】:

  • 你这个想法我认为它很有帮助,但我需要打开 Intent 什么?我的意思是我可以通过哪个应用程序使用意图?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-30
  • 2012-03-16
  • 2012-06-29
  • 1970-01-01
相关资源
最近更新 更多