WebView加载网络PDF

转载 2016年06月01日 11:57:14
main.xml如下:

 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    tools:context=".MainActivity" >  
  
     
  
    <WebView  
        android:id="@+id/webView"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"  
        android:layout_centerHorizontal="true"  
        android:layout_centerVertical="true" />  
  
</RelativeLayout>  
 
MainActivity如下:
 
package c.c;  
import android.app.Activity;  
import android.content.Intent;  
import android.graphics.Bitmap;  
import android.net.Uri;  
import android.os.Bundle;  
import android.webkit.DownloadListener;  
import android.webkit.WebView;  
import android.webkit.WebViewClient;  
import android.widget.Button;  
  
/** 
 * Demo描述: 利用WebView加载网络PDF资源,并且实现下载 
 * 步骤: 
 * 1 利用谷歌服务得到解析后的pdf,且在Webview中显示 
 * 2 实现Webview的下载监听. 
 *  即mWebView.setDownloadListener()实现下载 
 *   
 * 备注: 
 * 测试时最好链接VPN 
 */  
public class MainActivity extends Activity {  
    private WebView mWebView;  
    private Button mButton;  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        init();  
    }  
  
    private void init() {  
        mWebView = (WebView) findViewById(R.id.webView);  
        loadPDF();  
    }  
  
    private void loadPDF() {  
        mWebView.getSettings().setJavaScriptEnabled(true);  
        mWebView.getSettings().setSupportZoom(true);  
        mWebView.getSettings().setDomStorageEnabled(true);  
        mWebView.getSettings().setAllowFileAccess(true);  
        mWebView.getSettings().setPluginsEnabled(true);  
        mWebView.getSettings().setUseWideViewPort(true);  
        mWebView.getSettings().setBuiltInZoomControls(true);  
        mWebView.requestFocus();  
        mWebView.getSettings().setLoadWithOverviewMode(true);  
        String pdfUrl = "http://www8.cao.go.jp/okinawa/8/2012/0409-1-1.pdf";  
        mWebView.loadUrl("http://docs.google.com/gview?embedded=true&url="+ pdfUrl);  
  
        mWebView.setWebViewClient(new WebViewClient() {  
            @Override  
            public void onPageStarted(WebView view, String url, Bitmap favicon) {  
                super.onPageStarted(view, url, favicon);  
            }  
  
            @Override  
            public boolean shouldOverrideUrlLoading(WebView view, String url) {  
                view.loadUrl(url);  
                return true;  
            }  
  
            @Override  
            public void onPageFinished(WebView view, String url) {  
                super.onPageFinished(view, url);  
  
            }  
  
            @Override  
            public void onReceivedError(WebView view, int errorCode,  
                    String description, String failingUrl) {  
                super.onReceivedError(view, errorCode, description, failingUrl);  
  
            }  
  
        });  
  
        mWebView.setDownloadListener(new DownloadListener() {  
            @Override  www.2cto.com  
            public void onDownloadStart(String url, String userAgent,  
                    String contentDisposition, String mimetype,long contentLength) {  
                 System.out.println("=========>开始下载 url =" + url);  
                 Uri uri = Uri.parse(url);     
                 Intent intent = new Intent(Intent.ACTION_VIEW, uri);     
                 startActivity(intent);  
            }  
        });  
  
    }  
  
}  

android使用webview预览png,pdf,doc,xls,txt,等文件

最近有项目有一个需求,就是在线直接预览pdf,doc,xls,txt等文件,ios的webview比较强大,可以直接解析地址,然后预览。但是android的webview就比较差强人意了。当然,打开各...

Android 在webview中下载pdf文件,并用自定义界面阅读

引言: 今天公司项目要求用webview加载pdf文件,但从我掌握的知识中来说,我认为webview是不能实现pdf在线阅读这样功能的。那么怎么去符合我们项目的要求呢,既然不能在线阅读,那么我先把文件...

Android生成PDF文件、webview加载本地PDF或者网络PDF

生成pdfAndrid端生成PDF局限性太差,尚未有优雅的解决方案。但网上众说纷纭,实践者少之又少,高质量的博文也是凤毛麟角,大家都是博文搬用工,也没有谁做过详细的探索。笔者就自己的一点经验做点分享。...

Android平台下加载PDF文件方案解析

第一种方案: 简单粗暴的采用第三方软件加载,也就是说不在当前APP内部打开,而是直接调用第三方APP去查阅PDF文件; 参考核心代码如下: public void openPDFReader(int ...
  • mapboo
  • mapboo
  • 2016年08月10日 11:48
  • 7636

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

android webview打开pdf 的两种方式

方法1:利用设备自带浏览器打开pdf private void loadPDF1(){ mWebView.getSettings().setJavaScript...

原生安卓使用webview在线阅读pdf文档——解决方案

大家是不是遇到过类似在线阅读pdf的坑人需求?当然也有更坑的,那咱们今天来解决掉这个在线阅读pdf的坑,相信大家也看过各种帖子,各种办法,什么pdfview,什么**的第三方pdf查看框架,或许你会觉...

android webView显示PDF文件

最近公司开发的应用需要使用webview显示PDF格式的合同文件,因为后台返回的是一个PDF文件的的下载路径,用浏览器是可以直接打开查看的。起初我以为webview应该也能直接解析查看,毕竟强大如Go...

android中3种方式加载PDF

以前给乐视金融做项目的时候遇到了加载pdf文档的问题,不过还是解决了,而且用了三种方式。只要思想不抛锚,问题总比办法少。 前两种是基于WebView的,利于google的逆向解析,前提是先要去访问Go...

安卓WebView展示在线pdf文档

世界上最大的谎言是什么?没错,就是我已经阅读并同意该协议。最近公司在做webview加载H5页面,H5网页点击阅读客户协议的连接,展示pdf文档给客户,刚开始以为强大的Google会支持pdf的在线阅...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebView加载网络PDF
举报原因:
原因补充:

(最多只允许输入30个字)