2015-04-23 81 views
7

如何在同一個phonegap應用程序中顯示PDF文件。我試過Inappbrowser,Mupdf,PDFJS都顯示PDF使用其他pdf viewer.i想打開PDF文件與在同一個應用程序。任何人都可以幫我。預先感謝如何在同一個手機應用程序中顯示PDF文件

+0

也許這是你正在尋找的插件?看文檔的底部,有截圖:https://github.com/sitewaerts/cordova-plugin-document-viewer – Sithys

回答

3

(對不起我可憐的英語)我不知道你的意思是「在同一個應用程序」,因爲inappbrowserMupdfpdf.js都可以做到這一點。

在Android平臺上,最流行的解決方案是發送intent並通過其他pdf查看器打開,因爲用戶可以選擇最喜歡的(你可以嘗試File Opener 2)。如果你不喜歡這個,你可以在你的應用中創建一個活動來顯示pdf,就像MuPDF Viewer一樣。如果你想在Cordova/Phonegap webview中打開pdf文件,你需要mozilla的PDF.js,這是一個pure-js庫,用於在HTML5畫布上渲染pdf文件,但它比使用本地解決方案(甚至你用Crosswalk構建)要慢很多,所以我沒有建議。

在iOS平臺上更容易。 iOS的UIWebView可以原生打開pdf文件,因此您只需要使用inAppBrowser Plugin。如果你想要更多的功能,可以選擇很多插件(如Cordova PDFReader IOS)。

希望能幫到你。

+0

謝謝我明白了,我可以在應用程序中打開PDF文件。但我必須顯示與一個div。 –

+0

@Fomahaut我已經嘗試過PDF.js,但是從我的理解中,需要從Web服務器提供頁面。你確定這可以與Cordova移動應用程序一起使用嗎? –

1

你可以使用谷歌文檔查看器插件jQuery顯示PDF格式的文檔在div中。 點擊here

3

的科爾多瓦,sachinM的答案是完美的 - 但有一個擴展 使用uriEncodeComponent(鏈接),https://docs.google.com/viewer?url=鏈接

文檔,Excel,PowerPoint和PDF格式都支持。

在應用程序瀏覽器中使用cordova。

document.addEventListener("deviceready", onDeviceReady, false); 
function onDeviceReady() { 
    window.open = cordova.InAppBrowser.open; 
     } 

      $("body").on("click",function(e){ 
      var clicked = $(e.target); 
     if(clicked.is('a, a *')) 
     { 
      clicked = clicked.closest("a"); 
      var link = clicked.attr("href"); 
      if(link.indexOf("https://") !== -1) 
      { 
       if(true) //use to be able to determine browser from app 
       { 
        link = "http://docs.google.com/viewer?url=" + encodeURIComponent(link) + "&embedded=true"; 
      } 

       window.open(link, "_blank", "location=no,toolbar=no,hardwareback=yes"); 
       return false; 
      } 
    } 
    }); 
相關問題