【问题标题】:Android - WebView shows encrypted content of pdfAndroid - WebView 显示 pdf 的加密内容
【发布时间】:2015-07-02 14:25:15
【问题描述】:

我正在开发一个 android 应用程序,在该应用程序中我尝试从下面提到的 URL 将 pdf 加载到 Webview,

http://ipAddress/SD_BIO/showDocument.jsp?fileName=HIPAA%20Authorization%20Form.pdf&attachmentType=STUDY_INFORMED_CONSENT_FORMS&attachmentTypeId=120&documentId=412

我尝试了以下方法,

((WebView) findViewById(R.id.pdf)).getSettings().setJavaScriptEnabled(
                true);

        ((WebView) findViewById(R.id.pdf)).getSettings().setAllowFileAccess(
                true);
        ((WebView) findViewById(R.id.pdf)).getSettings().setPluginState(
                PluginState.ON);
        ((WebView) findViewById(R.id.pdf))
                .loadUrl("http://ipAddress/SD_BIO/showDocument.jsp?fileName=HIPAA%20Authorization%20Form.pdf&attachmentType=STUDY_INFORMED_CONSENT_FORMS&attachmentTypeId=120&documentId=412");

Webview 已加载,但加密如下,

然后我修改了loadURL,如下所示,

((WebView) findViewById(R.id.pdf))
                .loadUrl("http://docs.google.com/gview?embedded=true&url=http://ipAddress1/SD_BIO/showDocument.jsp?fileName=HIPAA%20Authorization%20Form.pdf&attachmentType=STUDY_INFORMED_CONSENT_FORMS&attachmentTypeId=120&documentId=412");

但是,它显示“没有可用的预览”。另外,我可以看到一些第三方库。但是,客户端不想要任何第三方库。

请帮我找到解决办法。

【问题讨论】:

  • PDF 能否在您的 Android 浏览器中正常读取?也许看看一个图书馆来展示像github.com/JoanZapata/android-pdfview这样的PDF
  • 糟糕!如果我在浏览器中打开,一个 .jsp 文件开始下载,如果我打开该文件也包含加密内容。请告诉我会出现什么问题?
  • 问题是您需要 PDF 阅读器。请参阅下面的 CommonsWare 答案。

标签: java android pdf android-webview


【解决方案1】:

WebView 不显示 PDF 文件。如果http://ipAddress/SD_BIO/showDocument.jsp 正在返回一个PDF 文件,WebView 将无法显示它。

但是,客户端不想要任何第三方库。

您的客户没有太多选择:

  • 使用第三方 PDF 渲染代码。

  • 使用第三方 PDF 查看器应用程序。

  • 提供 PDF 以外的其他内容,例如 HTML。

  • 在 Android 5.1+ 上,try PdfRenderer,虽然这确实是为打印预览而设计的。

  • 聘请开发人员从头开始编写自定义 PDF 渲染器(数百个开发人员月的工作量)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 2018-07-15
    相关资源
    最近更新 更多