printers 2.0.0

A lib to get printers and print files on unix and windows
Documentation
# Printers

Printers **is not a lib for printer drivers or cups**. Printers is a simple lib to call printers apis for unix *(cups)* and windows *(winspool)* systems.

Printer can provide a list of printers available on the system and perform document printing.

## Behavior

> Return a vector of available printers

```rust
printers::get_printers() -> Vec<Printer>
```

> Request print of a temp file after write they

```rust
printers::print(Printer, &[u8]) -> Job
printer.print(&[u8]) -> Job
```

> Request print of specific file from path

```rust
printers::print_file(Printer, &str) -> Job
printer.print_file(&str) -> Job
```

> Try get and return a single printer by your name

```rust
printers::get_printer_by_name(&str) -> Option<Printer>
```

> *NOTE*: get_printer_by_name is a simple utility, this functions just apply filters over call get_printers() result. They are improved on future to be more performatic 


## Example

```rust
use printers;

fn main() {


    // Vector of system printers
    let printers = printers::get_printers();

    // Print directly in all printers
    for printer in printers.clone() {

        println!("{:?}", printer);

        let status1 = printer.print("42".as_bytes(), Some("Everything"));
        println!("{:?}", status1);
        
        // Note: When you don't give the job_name
        // the file path will be that name by default
        let status2 = printer.print_file("/path/to/any.file", None);
        println!("{:?}", status2);

    }

    // Print directly by printer name
    printers::print("printer-a", "42".as_bytes(), Some("Everything"));
    printers::print_file("printer-b", "/path/to/any.file", Some("My Job"));

    // Try printer by name
    let test_printer = printers::get_printer_by_name("test");
    println!("{:?}", test_printer);

}
```

## System Requiriments

### Windows
For Windows printers will be use winspool apis to retrive printer and powershell to send a doc to printer

**Note**: For some complex reasons, the printing action stays doing using powershell. If you want collaborate to implement winspool for printing documents, your contribution will be greatly appreciated

### Unix
For Unix is necessary cups service installed