2015-04-23 80 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; 
      } 
    } 
    }); 
相关问题