我有一個要求,那裏是一個URL = "http://www.example/Open.pdf"
如何打開從服務器的PDF文件中的android
現在從我的Android應用程序,我想直接在默認PDF viewer
打開此文件PDF
。
當我單擊webpage
上的此鏈接時,用戶應該看到一個用此文檔打開的默認PDF查看器。
注意:此文件不應被存儲在SD card.
如何進行此實現?
我有一個要求,那裏是一個URL = "http://www.example/Open.pdf"
如何打開從服務器的PDF文件中的android
現在從我的Android應用程序,我想直接在默認PDF viewer
打開此文件PDF
。
當我單擊webpage
上的此鏈接時,用戶應該看到一個用此文檔打開的默認PDF查看器。
注意:此文件不應被存儲在SD card.
如何進行此實現?
您無法從應用程序打開默認PDF視圖。
如果您的文件位於服務器上,並且您希望在不下載的情況下打開它,那麼這可能會帶來更大的安全隱患。如果默認的Adobe Reader等外部應用程序可以訪問服務器上的內容,那麼這完全破壞了安全框架。
因此,最好的選擇是啓動瀏覽器或webview的新實例,並向用戶顯示Google文檔中的PDF文檔。
這樣用戶可以讀取文檔並返回到最近的應用程序狀態。
您可以使用googleDocs
在WebView
中查看pdf。
WebView webView = (WebView) findViewById(R.id.my_webview);
webView.setWebViewClient(new MyWebViewClient());
webView.addView(webView.getZoomControls());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf");
您可以查看使用
googleDocs
在WebView
的PDF文件。
WebView webView = (WebView) findViewById(R.id.my_webview);
webView.setWebViewClient(new MyWebViewClient());
webView.addView(webView.getZoomControls());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf");
你有除了使用http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf
我們可以打開web視圖PDF文件,而無需將其高速緩存查看PDF文件中的其他解決方案。在"onCreate"
方法中寫下面的代碼。
工作代碼:
String url = "http://www.example.com/abc.pdf";
final String googleDocsUrl = "http://docs.google.com/viewer?url=";
WebView mWebView=new WebView(this);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return false; // then it is not handled by default action
}
});
mWebView.loadUrl((googleDocsUrl + url));
setContentView(mWebView);
這裏會發生什麼事是你使用谷歌文檔中打開PDF。 使用上述方法的最佳優勢是延遲加載PDF。 PDF無論多麼重要。 Google文檔負責處理它。
感謝Lalit的發帖。但我希望它能在Adobe PDF文件瀏覽器中打開,而不是在Adobe文檔中打開。 – EnthuDeveloper 2011-12-20 12:05:21