我已经在android phonegap中使用pdf阅读器两天了..我是phonegap的新手...儿童浏览器插件正在运行,但pdf文件链接出现在浏览器中,页面空白。我添加了插件和一个版本的coredova 2.0.0的phonegap并添加了插件......我错了吗?任何人都可以解决我的问题。提前谢谢。
<!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>
答案 0 :(得分:0)
pdf将无法渲染,因为android webview不支持渲染pdf,而childbrowser使用android webview。 相反,您可以使用某些第三方sdks在Android中进行渲染。 他们中的大多数都需要许可证(如quoppa,pdfViewer)。 我没有看到任何开源,但你可以查看以下链接
https://github.com/jblough/Android-Pdf-Viewer-Library
对于ios,你可以使用pspdfkit。他们也提供了一个cordova插件。 通过以下链接。 https://github.com/PSPDFKit/PSPDFKit-Cordova
答案 1 :(得分:0)
我通过使用以下代码解决了这个问题。 首先检查url字符串最后三个字符,如果这些是pdf使用,如果条件否则使用else condition.where WebUrl是你想要打开的url。 此解决方案适用于所有Android版本(在API 9到4.1上测试)。
if(checkPDF ==='pdf'){ window.plugins.childBrowser.showWebPage( 'http://docs.google.com/viewer?url=' + WEBURL + ''); } 其他{ window.plugins.childBrowser.showWebPage(WEBURL); }
答案 2 :(得分:0)
我认为问题是因为如果不存在,android会自动将“http://”放在你的网址前面。但我也不知道如何解决这个问题。 (我试图解决这个问题。如果我知道更多,我会在这里发布)
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)