2015-05-28 74 views
1

我想在WebView中顯示pdf文件的內容。在Webview中加載pdf的內容

問題: 當我開始WebView一個新的對話框打開,我是否要加載PDF的瀏覽器或PDF閱讀器。但我想直接在WebView中加載內容。我試着用前綴url來嵌入內容,但是它顯示:沒有可用的預覽。

我的代碼:

public class Changelog_View extends ActionBarActivity { 

@Override 
protected void onCreate (Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 



    String myPdfUrl = "https://onedrive.live.com/download?cid=DB700463EBEC6BC9&resid=DB700463EBEC6BC9%2120693&authkey=ALJ-NvyQqMdACpA&em=2"; 
    String url = "http://docs.google.com/gview?embedded=true&url=" + myPdfUrl; 

    WebView webview = new WebView(this); 

    webview.getSettings().setJavaScriptEnabled(true); 
    webview.loadUrl(url); 


    setContentView(webview); 
} 
} 

我與Android的pdfView庫,這個代碼現在試了一下:

@Override 
protected void onCreate (Bundle savedInstanceState) { 

    super.onCreate (savedInstanceState); 

    com.joanzapata.pdfview.PDFView pdfView = new com.joanzapata.pdfview.PDFView (getApplicationContext(), null); 
    String myPdfUrl = "https://onedrive.live.com/download?cid=DB700463EBEC6BC9&resid=DB700463EBEC6BC9%2120693&authkey=ALJ-NvyQqMdACpA&em=2"; 

    pdfView.fromAsset(myPdfUrl) 
      .defaultPage(1) 
      .showMinimap(false) 
      .enableSwipe(true) 
      .onLoad(this) 
      .onPageChange (new OnPageChangeListener() { 
       @Override 
       public void onPageChanged (int i, int i1) { 

       } 
      }) 
      .load(); 

但隨後一個FileNotFoundException出現在地址:https://onedrive.live.com/download?cid=DB700463EBEC6BC9&resid=DB700463EBEC6BC9%2120693&authkey=ALJ-NvyQqMdACpA&em=2。該地址直接指向我的onedrive帳戶中的pdf文件。所以當我輸入這個鏈接到瀏覽器時,PDF文件正在下載。

那麼如何在地址欄中顯示pdf文件:https://onedrive.live.com/download?cid=DB700463EBEC6BC9&resid=DB700463EBEC6BC9%2120693&authkey=ALJ-NvyQqMdACpA&em=2android-pdfView庫在我的應用程序中?

謝謝。

+0

'WebView'具有顯示本身就是一個PDF的手段。 – CommonsWare

+0

好的謝謝。是否有可能加載任何其他文件格式文本到web視圖?或者我必須使用圖書館來做到這一點? – user3603935

+0

你可以得到一些幫助在http://stackoverflow.com/questions/12803701/unable-to-open-pdf-documents-in-webview使用谷歌文檔 – Mithun

回答

0

如果沒有WebViewClient,那麼它將僅在不同的窗口中打開。

mWebView.setWebViewClient(new WebViewClient()); 
1

要打開網頁視圖PDF格式,它更好地顯示通過谷歌文檔服務PDF

WebView webView=(WebView)findViewById(R.id.webView); 
webView.getSettings().setLoadsImagesAutomatically(true); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
     webView.getSettings().setLoadWithOverviewMode(true); 
     webView.getSettings().setUseWideViewPort(true); 
     webView.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + REPLACE_WITH_YOUR_LINK);