10

如何在同一个 phonegap 应用程序中显示 Pdf 文件。我试过 Inappbrowser、Mupdf、PDFJS 都在使用其他 pdf 查看器显示 PDF。我想在同一个应用程序中打开 pdf 文件。谁能帮帮我。提前谢谢

4

3 回答 3

5

对于科尔多瓦,sachinM 的答案是完美的 - 但有扩展使用 uriEncodeComponent(link) 和https://docs.google.com/viewer?url=链接

Doc、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;
            }
    }
    });
于 2016-08-24T01:38:56.067 回答
3

(请原谅我的英语不好)我不知道你的意思是“在同一个应用程序中”,因为inappbrowserMupdf并且pdf.js都可以做到这一点。

在Android平台上,最流行的解决方案是intent通过其他pdf查看器发送和打开,因为用户可以在那里选择喜欢的(你可以试试File Opener 2)。如果您不喜欢这样,您可以构建一个用于在您的应用中显示 pdf 的 Activity,就像MuPDF Viewer一样。如果你想在 Cordova/Phonegap webview 中打开 pdf 文件,你需要 mozilla 的PDF.js,这是一个用于在 HTML5 画布上呈现 pdf 文件的纯 js 库,但它比使用本机解决方案要慢得多(即使你使用Crosswalk构建),所以我不建议这样做。

在 iOS 平台上要容易得多。iOSUIWebView可以原生打开 pdf 文件,因此您只需要使用inAppBrowser Plugin 即可。如果您想要更多功能,可以选择许多插件(例如Cordova PDFReader IOS)。

希望对您有所帮助。

于 2015-04-27T03:23:29.187 回答
1

您可以使用 jQuery 的 Google Docs Viewer 插件在 div 中显示 pdf 文档。点击这里

于 2015-06-24T09:23:48.613 回答