cordova-plugin-printer/README.md

85 lines
3.1 KiB
Markdown
Raw Normal View History

2013-08-10 18:05:56 +08:00
Cordova Printer-Plugin
2013-08-10 00:44:19 +08:00
======================
2013-08-10 18:05:56 +08:00
A bunch of printing plugins for Cordova 3.x.x
2013-08-10 18:44:28 +08:00
by Sebastián Katzer ([github.com/katzer](https://github.com/katzer))
2013-08-10 18:53:29 +08:00
## Supported Platforms ##
2013-08-13 22:38:07 +08:00
- **iOS** *(Print from iOS devices to AirPrint compatible printers)*<br>
See [Drawing and Printing Guide for iOS](http://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/Printing/Printing.html) for detailed informations and screenshots.
2013-08-10 18:44:28 +08:00
2013-08-10 18:53:29 +08:00
## Adding the Plugin to your project ##
2013-08-10 18:44:28 +08:00
Through the [Command-line Interface](http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface):
```bash
cordova plugin add https://github.com/katzer/cordova-plugin-printer.git
```
2013-08-10 18:53:29 +08:00
## Release Notes ##
2013-08-13 22:05:24 +08:00
#### Version 0.2.1 ####
- Support for callback scopes
2013-08-11 19:02:24 +08:00
#### Version 0.2.0 (11.08.2013) ####
- Added iOS support<br>
*Based on the Print iOS plugin made by* ***Randy McMillan***
2013-08-10 18:44:28 +08:00
2013-08-10 18:53:29 +08:00
## Using the plugin ##
2013-08-10 18:44:28 +08:00
The plugin creates the object ```window.plugin.printer``` with two methods:
### isServiceAvailable() ###
2013-08-13 22:05:24 +08:00
Printing is only available on devices capable of multi-tasking (iPhone 3GS, iPhone 4 etc.) running iOS 4.2 or later. You can use this function to hide print functionality from users who will be unable to use it.<br>
Function takes a callback function, passed to which is a boolean property. Optionally you can assign the scope in which the callback will be executed as a second parameter (default to *window*).
2013-08-10 18:44:28 +08:00
```javascript
/*
2013-08-10 18:53:29 +08:00
* Find out if printing is available. Use this for showing/hiding print buttons.
2013-08-10 18:44:28 +08:00
*/
window.plugin.printer.isServiceAvailable(
function (isAvailable) {
alert(isavailable ? 'Service is available' : 'Service NOT available');
}
);
```
### print() ###
2013-08-13 22:05:24 +08:00
Function takes an html string and (optionally) a callback function. Optionally you can assign the scope in which the callback will be executed as a third parameter (default to *window*).
2013-08-10 18:44:28 +08:00
```javascript
// Get HTML string
var page = document.body.innerHTML;
/*
2013-08-13 22:05:24 +08:00
* Pass an HTML and - optionally - a callback function.
2013-08-10 18:44:28 +08:00
*/
2013-08-13 22:05:24 +08:00
window.plugin.printer.print(page, function (success, available, error) {
}, this);
2013-08-10 18:44:28 +08:00
```
#### Testing in the iOS Simulator ####
There's no need to waste lots of paper when testing - if you're using the iOS simulator, select File->Open Printer Simulator to open some dummy printers (print outs will appear as PDF files).
#### Adding Page Breaks to Printouts ####
Use the 'page-break-before' property to specify a page break, e.g.
```html
<p>
First page.
</p>
<p style="page-break-before: always">
Second page.
</p>
```
See W3Schools for more more information: http://www.w3schools.com/cssref/pr_print_pagebb.asp
Note: you will need to add an extra top margin to new pages.
#### Printing on Real Printers ####
Printing is only supported on AirPrint-enabled printers or with the use of third-party software on your computer. The following pages contain more information:
- AirPrint-enabled printers: http://www.apple.com/ipad/features/airprint.html
- Enabling AirPrint on your computer: http://reviews.cnet.com/8301-19512_7-20023976-233.html, or http://www.ecamm.com/mac/printopia/