【问题标题】:Android open pdf file from Url and diaplay in web view?Android从Url打开pdf文件并在webview中显示?
【发布时间】:2017-04-24 13:11:07
【问题描述】:

我知道这个问题已经被问过很多次了,但我没有得到任何合适且令人满意的解决方案。我想在网络视图中显示来自 url 的 Pdf 文件,当我单击 URL 时,我的 pdf 下载。目前我正在使用html以下代码在网络视图中显示pdf文件,但它正在打开html文件。自 4 小时以来,我一直陷入困境。请建议我在哪里做错了。

提前致谢。

        mWebview.getSettings().setJavaScriptEnabled(true);

        WebSettings settings = mWebview.getSettings();
        settings.setDefaultTextEncodingName("utf-8");
        mWebview.loadData(response, "application/pdf; charset=utf-8",null);

我收到以下格式的回复:-

**%PDF-1.4%���5 0 obj<</E 74937/H [ 1453 173 ]/L 75330/Linearized 1/N 1/O 8/T 75180>>**  

【问题讨论】:

  • response 是字符串吗?
  • 不是字节响应
  • 尝试使用直接 URL。无需下载整个文件。
  • 你肯定需要先将字节转换成pdf文件..在webview上加载它..webview只能以html或url的形式接收

标签: android pdf


【解决方案1】:

我想在网页视图中显示 Pdf 文件

WebView 没有 PDF 渲染器。

请建议我哪里做错了。

您正尝试将 PDF 直接加载到 WebView。使用something else to render the PDF

【讨论】:

  • 感谢您的回答,但目前我正在以字节的形式获取 url,所以我应该如何使用它在 web 视图中显示,我早上被卡住了……:(跨度>
  • @RajshreeTiwari:将字节写入文件。然后,use something else to render the PDF file。 Pdfium 的东西可能支持InputStream(在你的情况下是ByteArrayInputStream),但我不知道它支持。
【解决方案2】:

对于在 webview 中显示 pdf 使用 Direct url:

 https://docs.google.com/gview?embedded=true&url="PDF_FILE_URL"

现在在 webview 中加载上面的 url。

mWebview.loadUrl("https://docs.google.com/gview?embedded=true&url="PDF_FILE_URL"");

【讨论】:

  • 感谢 divyesh,我试过了,但它不起作用,因为我的 url 不是字符串,它是字节形式
  • 从哪里获得 pdf 文件?
  • 从服务器这个文件来了
  • 然后使用该服务器 url 显示 pdf。发布来自服务器的网址
  • 试试这个网址:docs.google.com/…
猜你喜欢
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-25
相关资源
最近更新 更多