如何通过Android网页浏览器显示PDF,而不先“下载”

有没有办法让股票Android浏览器自动打开PDF,Word或其他典型的文件,而无需经过下载文件的过程,然后让用户从下载应用程序或通知栏中打开文件?

我们有一个Web应用程序,它有很多我们想要包含的文档,而不必转换为HTML,但是让用户下载文件并手动打开它并不容易培训用户。

在iOS上,这些文件全部在浏览器中内联显示。 我想要一个方法让浏览器自动启动文件到Acrobat Reader或QuickOffice或任何程序,用户必须显示它们。

有没有人知道一个办法呢? 我知道Google文档有一些PDF查看支持,但是使用我们的networking应用程序的用户在所有情况下都可能没有公共Internet访问权限,并且可能正在本地networking服务器上。

您可以在Google文档查看器中打开PDF,方法是将URL附加到:

http://docs.google.com/gview?embedded=true&url=<url of a supported doc> 

这将在默认浏览器或WebView中打开PDF。

这里列出了支持的格式。

您可以在2017年4月6日使用此格式。

https://docs.google.com/viewerng/viewer?url=http://yourfile.pdf

只要用你使用的链接replacehttp://yourfile.pdf即可 。

具体来说,要安装firefox的pdf.js插件,您不要使用app store。 相反,从mozilla中去addons.mozilla.org并从那里安装。 此外,要查看它是否正确安装,请转到菜单工具:附加组件(而不是像您可能认为的桌面版本的“about:plugins”url)。

(新的帐户,否则我会把这个作为对上述答案的评论)

不幸的是,Android设备上的本地浏览器不支持这种types的文件。 让我们来看看在4.0中我们是否能够做到这一点。

我也需要这个,上面的链接停止工作,所以这是我发现与新的谷歌驱动器工作:

Google有一项服务,可以在PDF中创build不在GDrive中的链接: https : //docs.google.com/viewer只需添加您的url,即可创build链接和IFrame代码(仔细查看,您将看到该模式并创build链接没有这个networking服务)

另外,还有一种方法可以用于存储在Google云端硬盘中的PDF: https : //docs.google.com/viewer?srcid = YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false& a =v&chrome=false&embedded=true (可以是链接或src iframe的URL)

我已经在Android上进行了testing,它很好地调用了PDF查看器。

你可以使用这个

 webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file"); 
  Try this, worked for me. WebView view = (WebView) findViewById(R.id.yourWebView); view.getSettings().setJavaScriptEnabled(true); view.getSettings().setPluginState(WebSettings.PluginState.ON); view.loadUrl("http://docs.google.com/gview?embedded=true&url=" +"your document link(pdf,doc,docx...etc)"); 
 String format = "https://drive.google.com/viewerng/viewer?embedded=true&url=%s"; String fullPath = String.format(Locale.ENGLISH, format, "PDF_URL_HERE"); Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(fullPath)); startActivity(browserIntent); 
  • 下载适用于android的acrobat reader .apk文件来显示pdf文件
  • 把你的PDF文件放在SD卡上
  • 使用下面的代码片段

     File file= new File("/sdcard/test.pdf"); Uri path=Uri.fromFile(file); Intent i =new Intent(Intent.ACTION_VIEW); i.setDataAndType(path,"application/pdf"); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);