2011-09-15 597 views
55

有沒有辦法讓股票Android瀏覽器自動打開PDF,Word或其他典型文件,而無需經過下載文件的過程然後讓用戶從下載應用程序或通知欄打開文件?如何通過Android網頁瀏覽器顯示PDF而無需首先「下載」

我們有一個Web應用程序,它有很多我們想要包含的文檔,而不必轉換爲HTML,但是讓用戶下載文件並手動打開它並不容易培訓用戶。

在iOS上,這些文件都在瀏覽器中內聯顯示。我想要一種方法讓瀏覽器自動將文件啓動到Acrobat Reader或QuickOffice或用戶必須顯示的任何程序中。

有沒有人知道一種方法來做到這一點?我知道Google文檔有一些PDF查看支持,但使用我們的網絡應用程序的用戶可能在所有情況下都沒有公共互聯網訪問權限,並且可能會觸及本地網絡服務器。

+1

我從來沒有見過它的工作方式。話雖如此,我想你可以創建自己的瀏覽器,能夠解碼和正確顯示PDF文件。我只是不相信任何流行的瀏覽器都支持這一點。 – FoamyGuy

+0

您的PDF文件是否針對「快速Web查看」進行了優化?如果不是,則下載仍在進行中時無法顯示 - 因此只能下載並顯示。 – Robert

回答

2

不幸的是,Android設備上的本地瀏覽器不支持這種類型的文件。讓我們看看在4.0中我們能否做到這一點。

-1
  • 下載Acrobat Reader的.apk文件的Android來顯示PDF文件
  • 將SD卡
  • 使用的代碼如下

    File file= new File("/sdcard/test.pdf"); 
    Uri path=Uri.fromFile(file); 
    Intent i =new Intent(Intent.ACTION_VIEW); 
    i.setDataAndType(path,"application/pdf"); 
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(i); 
    
+2

這是一個網頁瀏覽器,不是原生的android應用程序。 -1 – RyanDawkins

39

的片段上您的PDF文件您可以在Google文檔查看器中通過附加URL來打開PDF:

http://docs.google.com/gview?embedded=true&url=<url of a supported doc> 

這將在默認瀏覽器或WebView中打開PDF。

給出了支持的格式列表here

+4

這非常有幫助,謝謝。我不確定它是否是100%必需的,但可能值得一提的是,支持的文檔的應該被urlencoded。 – mason81

+1

這對我不起作用......它只是顯示一個頁面「糟糕!預覽此文檔時出現問題」,並顯示一個下載按鈕。點擊下載按鈕時沒有任何反應。 –

+11

上述鏈接無法在Android上使用Chrome,我切換到了https://drive.google.com/viewerng/viewer?embedded = true&url = ####',而且完成了這項工作! – QFDev

3

我需要這個也和上面的鏈接停止工作,所以這是我發現了新的谷歌驅動器的工作:

谷歌已經創建中的GDrive的鏈接,PDF不是一個服務: https://docs.google.com/viewer 只需添加您的URL,它創建了一個鏈接,IFrame的代碼 (仔細看,你會看到的模式,建立一個沒有這個Web服務鏈接)

此外,還有一種方法可以做到這一點對PDF的存儲在谷歌驅動器: https://docs.google.com/viewer?srcid=YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false&a=v&chrome=false&embedded=true (這可以是鏈接或src URL o f iframe)

我已經在Android上測試過,它很好地調出了PDF查看器。

+0

對我而言,如果我目前沒有使用Google帳戶登錄,那麼它會將我帶到登錄頁面。有沒有辦法繞過這個,只看PDF? –

+0

鏈接https://docs.google.com/viewer中斷 – ejectamenta

+0

嘗試使用http://viewerjs.org/ viewer.js文件看起來很有前途,因爲它是獨立於瀏覽器的,並依靠您的服務器來完成繁重的工作。 – user1493559

3

具體來說,要安裝firefox的pdf.js插件,請不要使用應用商店。相反,從mozilla內部進入addons.mozilla.org並從那裏安裝它。此外,要查看它是否安裝正確,請轉至菜單工具:附加組件(而不是您可能認爲的桌面版本中的「about:plugins」url)。

(新帳戶,否則我會把這個作爲上述回答評論)

0

您可以使用此

webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file"); 
+0

任何人都可以提及downvoting的原因。 –

+0

也許,你的答案適用於某些編程技術,答案可能只是URL,即使我可以將它添加到上面已經提到的錨標記中 –

0
Try this, worked for me. 

    WebView view = (WebView) findViewById(R.id.yourWebView); 

    view.getSettings().setJavaScriptEnabled(true); 
    view.getSettings().setPluginState(WebSettings.PluginState.ON); 
    view.loadUrl("http://docs.google.com/gview?embedded=true&url=" 
        +"your document link(pdf,doc,docx...etc)"); 
0
String format = "https://drive.google.com/viewerng/viewer?embedded=true&url=%s"; 
String fullPath = String.format(Locale.ENGLISH, format, "PDF_URL_HERE"); 
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(fullPath)); 
startActivity(browserIntent); 
相關問題