【问题标题】:Document Viewer for phonegap Applicationsphonegap 应用程序的文档查看器
【发布时间】:2013-03-21 10:56:03
【问题描述】:

有没有人在 android 中使用 Childbrowsers 或 InAppBrowser 插件用于 pdf/anydoc 查看器...如果它是如何工作的...我需要为我的 phonegap 应用程序开发一个文档查看器...请提出一些建议...谢谢 :)

【问题讨论】:

    标签: android ios cordova phonegap-plugins


    【解决方案1】:

    请查看提供的文档或告诉我们您的尝试

    InAppBrowser 是自 2.3.0 版以来标准 phonegap 版本的内置插件。 Childbrowser 之前的版本作为非默认插件使用。

    文档在 phonegap 网站上

    http://docs.phonegap.com/en/2.5.0/cordova_inappbrowser_inappbrowser.md.html#InAppBrowser

    【讨论】:

    • 克林顿,我知道 InAppBrowser 是一个内置插件..对于 iOS 应用程序,HTML5 对象可以很好地显示任何文档,但在 android 上它会失败,因为 android 没有默认的 pdf 查看器..和我编写的插件将 pdf 从应用程序中取出...我希望它显示在同一页面上...有什么办法可以做到...
    • 这是 phonegap 2.3.0 中的 pdf 错误尝试最新的 2.5.0?你用的是最新的吗?
    【解决方案2】:

    Andrdoid 没有默认的 PDF 查看器。因此,您可能需要使用谷歌文档阅读器打开您的文档并显示在您的 InAppBrowser 中。

    【讨论】:

    • 会显示在同一页面上还是会将 pdf 从应用程序中取出?我关心的是,我想在同一页面上显示一个文档(在 div 标签内)..怎么做?
    • InAppBrowser 将始终显示在您的应用程序顶部并占据整个屏幕。但它将成为您应用程序的一部分。单击 InAppBrowser 中的关闭按钮时,您将返回到您的应用程序。您可以尝试使用 PDF.JS(github.com/mozilla/pdf.js) 使用 JavaScript 在 HTML 中呈现 PDF。它仍然是一个测试版软件,所以请谨慎使用。对我来说,它可以渲染我的大部分 PDF,但不是全部。
    • 是的..我刚刚实现了 InAppBrowser,它就像你说的那样工作。这可能不是我的选择,有没有办法在其中加载本地 pdf..现在我有一个在线 pdf 可以加载..占用整个屏幕
    • 可以使用PDFViewer插件显示本地PDF:github.com/RandyMcMillan/CDVPDFViewer
    【解决方案3】:

    对于所有遇到此问题的人来说,这是我终于发现的:

    HTML 5 对象标签:不工作

    嵌入标签:不工作

    childBrowser Plugin:我认为它可以工作,但它是为 2.0.0 版本设计的。所以你会得到很多错误,所以我没有让它工作。

    Phonegap InAppViewer:如果你这样使用它:

    window.open('http://www.example.com/test.pdf', '_blank', 'location=yes')
    

    它不会工作。 InAppViewer 无法打开 PDF,不管 PDF 是外部存储还是本地存储。

    到目前为止我的解决方案(不是实际的想法):

    你可以用_system调用窗口函数。像这样:

    window.open('http://www.example.com/test.pdf', '_system', 'location=yes')
    

    这将在普通浏览器中打开 PDF 并下载。下载后会询问是否应该使用 PDF 查看器打开它。但是您必须返回您的应用并在此之后再次打开它。

    另一种可能性是您只需使用 Phonegap Filesystem API 将其下载到您的 sdcard 中:

    var fileTransfer = new FileTransfer();
    fileTransfer.download(
    "http://developer.android.com/assets/images/home/ics-android.png",
    "file://sdcard/ics-android.png",
    function(entry) {
        alert("download complete: " + entry.fullPath);
    },
    function(error) {
        alert("download error source " + error.source);
        alert("download error target " + error.target);
        alert("upload error code" + error.code);
    });
    

    我发现的最后一件事是,使用 Google docs/drive 使用链接到 google docs 的 InAppViewer 打开它:

    document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {
    
    window.open('https://docs.google.com/viewer?url=http://www.example.com/test.pdf&embedded=true', '_blank', 'location=yes'); 
    ref = window.open('index.html', '_self');
     }
    

    这将在应用程序中打开 PDF,在谷歌文档上查看它。你可以在这里生成你的永久链接:https://docs.google.com/viewer 所以即使你改变了你的 pdf 文件,它仍然可以工作

    我希望这份摘要能帮助您节省时间。如果有其他解决方案,请告诉我

    【讨论】:

    • 如何关闭谷歌文档查看器并返回应用程序??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 2011-09-06
    • 1970-01-01
    相关资源
    最近更新 更多