PS:该示例有bug,请参见WebView加载网络PDF(一)
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"); } }
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>
时间: 2024-10-24 12:20:43