android webView显示PDF文件

    最近公司开发的应用需要使用webview显示PDF格式的合同文件,因为后台返回的是一个PDF文件的的下载路径,用浏览器是可以直接打开查看的。起初我以为webview应该也能直接解析查看,毕竟强大如Google,怎么会连这种问题都没有解决呢,然而我错了,Android的webview并不能自动解析PDF文件。然后就在网络上各种搜索,大致都提供了两种解决方案。

  解决方案一:利用设备自带浏览器打开pdf

	1.mWebView.getSettings().setJavaScriptEnabled(true);      
	2.mWebView.getSettings().setSupportZoom(true);      
	3.mWebView.getSettings().setDomStorageEnabled(true);      
	4.mWebView.getSettings().setAllowFileAccess(true);      
	5.mWebView.getSettings().setPluginsEnabled(true);      
	6.mWebView.getSettings().setUseWideViewPort(true);      
	7.mWebView.getSettings().setBuiltInZoomControls(true);      
	8.mWebView.requestFocus();      
	9.mWebView.getSettings().setLoadWithOverviewMode(true);      
	10.mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);      
	11.String pdfUrl = "http:xxx.pdf";      
	12.mWebView.loadUrl("http://docs.google.com/gview?embedded=true&url=" +pdfUrl);


  解决方案二:利用Google服务解析后再在mWebView中打开pdf
	1.mWebView.getSettings().setJavaScriptEnabled(true);      
	2.mWebView.getSettings().setSupportZoom(true);      
	3.mWebView.getSettings().setDomStorageEnabled(true);      
	4.mWebView.getSettings().setAllowFileAccess(true);      
	5.mWebView.getSettings().setPluginsEnabled(true);      
	6.mWebView.getSettings().setUseWideViewPort(true);      
	7.mWebView.getSettings().setBuiltInZoomControls(true);      
	8.mWebView.requestFocus();  www.2cto.com    
	9.mWebView.getSettings().setLoadWithOverviewMode(true);      
	10.mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);      
	11.String pdfUrl = "http://xxx.pdf";      
	12.String data = "<iframe src='http://docs.google.com/gview?embedded=true&url="+pdfUrl+"'"+" width='100%' height='100%' s	tyle='border: none;'></iframe>";      
	13.mWebView.loadData(data, "text/html", "UTF-8");      

 
   以上两种方案尝试后都没有效果,最终不得不使用github第三方解析(android-pdfview),实现思路,将后台提供的PDF文件下载地址下载到本地sd卡中,解析后加载到webview中显示,当用户关闭当前活动页面时,删除相关文件。这个过程中,还有一个问题,就是app后台的PDF文件的下载地址是内网的,所以需要app后台将网站的PDF文件下载后以文件流的形式返回给app客户端,当然一样是下载文件。
  第三方解析工具github地址:https://github.com/JoanZapata/android-pdfview.git
  
   
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值