main.xml如下:
[html]
<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如下:
[java]
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(); www.2cto.com
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");
}
}