2015-01-14 32 views
0

我试着通过katzer https://github.com/katzer/cordova-plugin-printerPhoneGap的打印插件

使用打印插件,我做了所有它说,但我不知道如何调用该函数的index.html文件,看看插件工作。

这是index.html的

<!DOCTYPE html> 
<!-- 
Licensed to the Apache Software Foundation (ASF) under one 
or more contributor license agreements. See the NOTICE file 
distributed with this work for additional information 
regarding copyright ownership. The ASF licenses this file 
to you under the Apache License, Version 2.0 (the 
"License"); you may not use this file except in compliance 
with the License. You may obtain a copy of the License at 

http://www.apache.org/licenses/LICENSE-2.0 

Unless required by applicable law or agreed to in writing, 
software distributed under the License is distributed on an 
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express or implied. See the License for the 
specific language governing permissions and limitations 
under the License. 
--> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <meta name="format-detection" content="telephone=no" /> 
    <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 --> 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 
    <link rel="stylesheet" type="text/css" href="css/index.css" /> 
    <meta name="msapplication-tap-highlight" content="no" /> 

</head> 
<body> 
    <div class="app"> 

     <div id="deviceready" class="blink"> 
      <p class="event listening">Connecting to Device</p> 
      <p class="event received">Device is Ready</p> 

      <script src="plugins/com.phonegap.plugins.barcodescanner/www/barcodescanner.js"></script> 
     </div> 
    </div> 
    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="cordova_plugins.js"></script> 
    <script type="text/javascript" src="js/index.js"></script> 
    <script type="text/javascript" src="plugins/de.appplant.cordova.plugin.printer/www/printer.js"></script> 
    <script> 
     app.initialize(); 
     alert(isAvailable ? 'Service is available' : 'Service NOT available'); 

    </script> 

</body> 

}

这是config.xml中

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.example.HS" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
<preference name="AllowInlineMediaPlayback" value="false" /> 
<preference name="AutoHideSplashScreen" value="true" /> 
<preference name="BackupWebStorage" value="cloud" /> 
<preference name="DisallowOverscroll" value="false" /> 
<preference name="EnableViewportScale" value="false" /> 
<preference name="FadeSplashScreen" value="true" /> 
<preference name="FadeSplashScreenDuration" value=".25" /> 
<preference name="KeyboardDisplayRequiresUserAction" value="true" /> 
<preference name="MediaPlaybackRequiresUserAction" value="false" /> 
<preference name="ShowSplashScreenSpinner" value="true" /> 
<preference name="SuppressesIncrementalRendering" value="false" /> 
<preference name="TopActivityIndicator" value="gray" /> 
<preference name="GapBetweenPages" value="0" /> 
<preference name="PageLength" value="0" /> 
<preference name="PaginationBreakingMode" value="page" /> 
<preference name="PaginationMode" value="unpaginated" /> 
<feature name="LocalStorage"> 
    <param name="ios-package" value="CDVLocalStorage" /> 
</feature> 
    <name>HelloCordova</name> 
<description> 
    A sample Apache Cordova application that responds to the deviceready event. 
</description> 
<author email="[email protected]" href="http://cordova.io"> 
    Apache Cordova Team 
</author> 
<content src="index.html" /> 
<access origin="*" /> 
<feature name="BarcodeScanner"> 
    <param name="ios-package" value="CDVBarcodeScanner" /> 
</feature> 
<feature name="Printer"> 
    <param name="ios-package" value="APPPrinter" /> 
</feature> 
<gap:plugin name="de.appplant.cordova.plugin.printer" /> 
<gap:plugin name="com.phonegap.plugins.barcodescanner" /> 

回答

1

将一个科尔多瓦onDeviceReady事件。

document.addEventListener("deviceready", onDeviceReady, false); 

// Cordova Device Ready. 
function onDeviceReady() { 

cordova.plugins.printer.isAvailable(
    //Check whether the printer is available or not. 
    function (isAvailable) { 
     //Enter the page location. 
     var page = location.href; 
     cordova.plugins.printer.print(page, 'Document.html', function() { 
     alert('printing finished or canceled') 
}); 
    } 
); 

} 
  1. 打印整个HTML页面

    //的URI的index.html VAR页= location.href; cordova.plugins.printer.print(page''Document.html',function(){ alert(''打印完成或取消') });

  2. 打印从页面的一部分的内容

    //要么DOM节点或字符串 变种页=的document.getElementById(“法律-通知”); cordova.plugins.printer.print(page''Document.html',function(){ alert(''打印完成或取消') });

  3. 打印自定义的特定内容

//要么DOM节点或字符串

var page = '<h1>Hello Document</h1>';  
cordova.plugins.printer.print(page, 'Document.html', function() { 
    alert('printing finished or canceled') 
}); 
  • 打印远程网页

    cordova.plugins.printer.print('http://blackberry.de','BB !!!',function(){ alert('printing finished or can celed') });

  • 调整页面

    cordova.plugins.printer.print( '123',{名称: 'Document.html',景观:真正},函数(){ 警报(“印刷成品或取消') });

  • 定制大小和位置上的iPad

    //选项一个 cordova.plugins.printer.print( '123',{界限:[40,30,0,0]}); //选项二 cordova.plugins.printer。print('123',{bounds:{left:40,top:30,width:0 height:0}});

  • 请参阅您提供的链接末尾的自述文件。

    +0

    我收到错误“TypeError:cordova.plugins is undefined ” –

    0

    像其他答案一样,只需调用“cordova.plugins.printer.print()”函数即可打印。然而,这里的一个大塞子将是平台...

    默认的cordorva打印机插件不支持“windows”平台。所以,如果你在窗户上工作,没有运气。您必须将其构建为App/Apk并安装到您的手机以测试此功能。

    如何构建它针对每个移动平台不在这个话题的话,是的,请参阅本单证的...

    一个快速的方法是通过Adobe的PhoneGap构建项目建设,并下载APK看看它如何在你的手机上工作。希望这可以帮助。