现在的位置: 首页 > 综合 > 正文

WebView加载网络PDF(二)

2013年06月26日 ⁄ 综合 ⁄ 共 2501字 ⁄ 字号 评论关闭

备注:

该Demo有bug,请参见修改后版本.WebView加载网络PDF(一)

2013年3月8日9:55:57

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="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
    />

</RelativeLayout>

MainActivity如下:

package c.c;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebSettings.LayoutAlgorithm;
import android.app.Activity;
/**
 * Demo描述:
 * 利用WebView加载网络PDF资源
 * 方法1:利用设备自带浏览器打开pdf
 * 方法2:利用Google服务解析后再在mWebView中打开pdf
 * 备注:
 * 测试时最好连接VPN
 */
public class MainActivity extends Activity {
	private WebView mWebView;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
	private void init() {
        mWebView=(WebView) findViewById(R.id.webView);
        //方法1
        loadPDF1();
        //方法2
        //loadPDF2();
	}
	
	//方法1:利用设备自带浏览器打开pdf
	private void loadPDF1(){
		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);
		mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
		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);
		
	}
	//方法2:利用Google服务解析后再在mWebView中打开pdf
		private void loadPDF2(){
			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);
			mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
			String pdfUrl = "http://www8.cao.go.jp/okinawa/8/2012/0409-1-1.pdf";
			String data = "<iframe src='http://docs.google.com/gview?embedded=true&url="+pdfUrl+"'"+" width='100%' height='100%' style='border: none;'></iframe>";
			mWebView.loadData(data, "text/html", "UTF-8");
			
		}

}

 

 

抱歉!评论已关闭.