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就比较差强人意了。当然,打开各...
  • ZACH_ZHOU
  • ZACH_ZHOU
  • 2017年02月20日 10:54
  • 6957

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

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

WebView加载网络PDF

main.xml如下:       xmlns:tools="http://schemas.android.com/tools"       android:layo...
  • birthmarkqiqi
  • birthmarkqiqi
  • 2016年06月01日 11:57
  • 2095

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

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

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

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

android webView显示PDF文件

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

iOS:WebView 加载PDF文件

Loading a local PDF file into the iOS web view http://gssdaily.com/forum/viewtopic.php?f=20&t=1958 ...
  • ultrapro
  • ultrapro
  • 2013年01月30日 16:57
  • 1385

android webview打开pdf 的两种方式

方法1:利用设备自带浏览器打开pdf private void loadPDF1(){ mWebView.getSettings().setJavaScript...
  • Liuqz2009
  • Liuqz2009
  • 2017年01月22日 10:49
  • 2814

pdfview打开pdf文件,避免android无法通过webview打开pdf文件

  • 2016年04月18日 14:39
  • 17.27MB
  • 下载

[Android]使用浏览器直接打开PDF和Office文档

Android原生系统中的自带浏览器和Chrome浏览器是不支持直接打开PDF的文档的,需要现下载到本地之后再使用Adobe Reader之类的PDF阅读器才能打开。微软Office中DOC和XLS之...
  • yctccg
  • yctccg
  • 2016年08月16日 10:43
  • 6358
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebView加载网络PDF
举报原因:
原因补充:

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