簡體   English   中英

使用谷歌文檔在webview中顯示pdf文件(存儲在谷歌驅動器中)

[英]Display the pdf file(stored in google drive) in webview by using google docs

我的pdf文件存儲在一些網站上: http//www.pdf995.com/samples/pdf.pdf

現在我不能依賴其他網站的應用程序。 所以

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

現在鏈接如下

結果,

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

  • 如果我單獨使用谷歌驅動器鏈接,那么它將在不在應用程序內的Web瀏覽器中打開。

  • 如果之前是谷歌文檔,則不會產生pdf文檔。 我得到這樣的東西。

在此輸入圖像描述

應該做什么,以便我可以使用谷歌驅動器中的自己的pdf在webview中打開

我跟隨CommonsWareStuart SieglerSamir Mangroliya但沒有任何作用。 :(

您可以使用谷歌文檔在互聯網上查看任何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);

我有一個WebView,存儲在google驅動器中的我的pdf鏈接是:

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

別忘了“/ 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);
}

並在onCreate()上面添加@SuppressLint("SetJavaScriptEnabled") onCreate()

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

定義網址如:

String BASE_URL = "https://drive.google.com/viewerng/viewer?embedded=true&url=https://drive.google.com/uc?id=";
String PDF_ID = "<Your pdf id from Google drive share link>";

WebView加載:

webview.loadUrl(BASE_URL + PDF_ID);

首先,你需要按照“PhúcNghiLâm”提供的答案。 (第3個答案。)

如果它不工作....

在我的情況下,會有HTML結果出現。 但是你的WebView的大小是0寬和0高。

因此,您需要通過實現“onPageFinished”來重置LayoutParam。 或者是其他東西。

(您應該能夠獲得WebView的父視圖。所以.. 1.獲取父視圖的大小.2。將大小數據設置為新的LayoutParam.3。將新的LayoutParam設置為WebView。)

我遇到了同樣的問題,經過大量的打擊和試驗,我找到了出路。

您需要點擊谷歌硬盤的下載按鈕。

單擊它后,將打開一個新選項卡,其中包含此類型的其他URL

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM