【问题标题】:How to open a pdf file in webview android? [duplicate]如何在webview android中打开pdf文件? [复制]
【发布时间】:2014-05-20 05:32:26
【问题描述】:

我使用 itext 库生成了一个 pdf,并将其存储在 sdcard 中。我必须在 webview 中打开 pdf,但是当我搜索解决方案时,我知道我可以使用在线 google doc 服务打开它,但我的 pdf 存储在 sdcard 中。有没有办法在 web 视图中从外部存储打开 pdf?

【问题讨论】:

  • 没有人,这在 Android 中是不可能的。但是您可以使用一些第三方库来在您的应用程序中打开 pdf。
  • 为什么需要在webview中打开?你看过这里吗?:stackoverflow.com/questions/2456344
  • 没有 webView 不嵌入 pdf 它只支持 html/text 但你可以使用默认意图阅读。如果你想要代码请告诉我。
  • @RohitGoswami 我有代码,我只是想知道我是否可以在 web 视图中打开它。
  • 我不这么认为。我以前试过这个,但根本不工作stackoverflow.com/questions/23556693/…

标签: android


【解决方案1】:

要在 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://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf");

这可能对你有帮助

【讨论】:

  • 我不是这个解决方案的忠实拥护者,因为它会打开浏览器应用程序,如果我在应用程序中嵌入 web 视图,这并不是我真正想做的事情。
  • 您可能需要覆盖 WebView 的 WebViewClient 以使其无法打开浏览器(重定向可能是原因)。看到这个:stackoverflow.com/a/18921867/2353588
  • 不起作用,打开浏览器
  • 检查我的编辑,它有效
【解决方案2】:

不,您不能使用 WebView 从 sdcard 显示 PDF 文件。可能只显示 HTML 文件。

此任务最简单的解决方案是使用外部 PDF 阅读器。这种方法对用户来说足够方便,因为您从 github 开源代码创建的“手工制作”PDF 阅读器可以 显示大型 pdf 文件时速度较慢。

public class PDFReader {
public void read(Activity context,  String fileName){
    File appFolder = new File( Environment.getExternalStorageDirectory(), 
        context.getBaseContext().getPackageName() );
    File file = new File(appFolder, fileName);

    Uri path = Uri.fromFile(file);
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(path, "application/pdf");
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    try {
        context.startActivity(intent);
    } 
    catch (ActivityNotFoundException e) {
        Toast.makeText(context, "На устройстве не найдено доступного приложения для отображения PDF!", 
            Toast.LENGTH_SHORT).show();
    }
}

}

【讨论】:

  • 他想在 webview 中而不是在默认启动器中阅读 pdf。
猜你喜欢
  • 2011-05-11
  • 2018-08-19
  • 2012-07-21
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多