2016-08-30 38 views
0

我的PDF文件存儲在一些網站EX將顯示在web視圖PDF文件(存儲在谷歌驅動器)。所以通過使用谷歌文檔

  1. 我已經下載了pdf文檔
  2. 上傳在谷歌驅動
  3. 有我自己的鏈接,PDF
  4. 嘗試使用谷歌文件打開在webview
  5. 失敗

現在鏈接如下

結果,

  • 其他網站可能隨時更改網址。不能依靠它。

  • 如果我單獨使用谷歌驅動器鏈接,那麼它將在網絡瀏覽器中打開,而不是在應用程序內。

  • 如果在Google文檔之前,它不會生成PDF文檔。我得到這樣的東西。

enter image description here

應該怎樣做,這樣我可以用我自己從谷歌PDF驅動我已經按照CommonsWareStuart SieglerSamir Mangroliya但沒有任何工程中的WebView

打開。 :(

回答

1

您可以查看使用谷歌文檔在互聯網上的任何PDF,即使沒有將它下載到設備下面是如何做到這一點的示例:

webview.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf); 

pdf是一個字符串鏈接PDF文件所以你的情況將是:

String pdf = "http://www.pdf995.com/samples/pdf.pdf"; 
webview.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf); 
+0

是的,你是對的@Vlad。但是,我不想依賴其他網站。這就是我選擇'Google Drive' – Prabs

+0

@Prabs的原因,它顯示HTML代碼的原因是鏈接https://drive.google.com/file/d/0B8e4zX5Y1S0XV0U0UTZJOUVma00/view不再是PDF。它是從PDF構建的HTML。 –

+0

@Prabs,谷歌驅動器會將任何PDF轉換爲HTML,因此您必須將其上傳到其他地方,我認爲 –

0

我被同樣的問題,大量的命中和試驗後的痛苦,我找到了一個出路

你需要點擊谷歌驅動器的下載按鈕。

你點擊它儘快,新標籤將使用不同的網址打開這種類型的,

https://drive.google.com/uc?id=0B1dndMpNP4zgdlTuMm5rcjFk3TQ&export=download //測試網址//

String url="https://drive.google.com/uc?id=0B1dndMpNP4zgdlTuMm5rcjFk3TQ&export=download"; 
webView = (WebView) findViewById(R.id.progr); 
webView.getSettings().setJavaScriptEnabled(true); 
webView.getSettings().setLoadWithOverviewMode(true); 
webView.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url="+url); 
+0

會顯示或下載到設備? – Prabs

+0

它將在webview中顯示pdf –

0

我有一個web視圖,以及鏈接到我的pdf存儲在谷歌驅動器是:

String myPdfUrl = "https://drive.google.com/file/d/1fQfqgEmz-AiCpdHEIh7SNwdnAkQFqDQp/view"; 

不要忘記「/視圖」。

而對於顯示我的Java代碼:

private void displayWebView() { 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient(){ 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
      view.loadUrl(myPdfUrl); 
      return true; 
     } 
    }); 
    webView.loadUrl(myPdfUrl); 
} 

並添加@SuppressLint("SetJavaScriptEnabled")上述onCreate()

@SuppressLint("SetJavaScriptEnabled") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.act