0

两天以来,我一直在使用 android phonegap 中的 pdf 阅读器..我是 phonegap 的新手..child 浏览器插件正在工作,但 pdf 文件链接出现在浏览器中并带有空白页。我添加了插件和 phonegap一个版本的 coredova 2.0.0 并添加了插件..我错了?谁能解决我的问题..提前谢谢。

     <!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=320; user-scalable=no" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Child Browser Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
    <script type="text/javascript" charset="utf-8" src="childbrowser.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for PhoneGap to load
    //
    function Bodyload(){
        document.addEventListener("deviceready", onDeviceReady, false);
    }
    // PhoneGap is ready
    //
    function onDeviceReady() {
         console.log("PhoneGap is ready");
         window.plugins.childBrowser.showWebPage( "http://www.google.com/****/" );
    }
    </script>
  </head>
  <body onload="Bodyload();" id="stage" class="theme">    
  </body>
</html>
4

3 回答 3

0

pdf 不会被渲染,因为 android webview 不支持渲染 pdf 并且 childbrowser 使用 android webview。相反,您可以使用一些第三方 sdk 在 Android 中进行渲染。其中大多数需要许可证(如 quoppa、pdfViewer)。我还没有看到任何开源,但您可以查看以下链接

https://github.com/jblough/Android-Pdf-Viewer-Library

对于 ios,您可以使用 pspdfkit。他们还提供了一个 cordova 插件。通过以下链接。 https://github.com/PSPDFKit/PSPDFKit-Cordova

于 2013-08-02T11:25:12.550 回答
0

我已经通过使用以下代码解决了这个问题。首先检查 url 字符串的最后三个字符,如果这些是 pdf,则使用 if 条件,否则使用 else 条件。其中 WebUrl 是您要打开的 url。此解决方案适用于所有 Android 版本(在 API 9 到 4.1 上测试)。

if(checkPDF === 'pdf') { window.plugins.childBrowser.showWebPage(' http://docs.google.com/viewer?url= '+WebUrl+''); } else { window.plugins.childBrowser.showWebPage(WebUrl); }

于 2013-08-21T07:13:08.787 回答
0

我认为问题是因为 android 会自动将“http://”放在你的 url 前面,如果它不存在的话。但我也不知道如何解决这个问题。(我试图解决这个问题。所以如果我知道更多,我会在这里发布)

var yourURL = "data:application/pdf;base64," + btoa(pdfOutput)  
//btoa() makes its value to base64

window.open(yourURL, "_blank", 
  "location=yes"            //set to no if you do not want to have any url bar
+ "enableViewportScale=yes" //set to "no" if your target should not zoom the pdf
);

输出网址栏:

http://data:application/pdf;base64,(somecode)

what we want to reach:
data:application/pdf;base64,(somecode)
于 2015-06-10T09:52:54.130 回答