# PrintNatura (Print Server)
This project is used to print pdf, it acts as a print server.
## Requeriments

* Git
* Docker

## Installaton
Clone the repository
```
$ git clone https://gitea.verdnatura.es/verdnatura/printnatura.git
```

Build
```
$ docker build -t printnatura .
```

Create file named "config.local.yml" and put your private configuration:
```
debug: true
db:
  host: localhost
  port: 3306
  user: user
  password: password
  database: schema
salix:
  url: http://localhost:3000
  user: user
  password: password
  methods:
    login: method/login
    logout: method/logout
reconnectTimeout: 30
refreshRate: 1000
```
## How to use

Exec
```
$ docker run --name printnatura -it --rm -v $PWD/config.local.yml:/printnatura/config.local.yml:ro -p 80:631 printnatura
```

Bash
```
$ docker exec -i -t printnatura bash
```

Has a graphical web interface (cupsd.conf)

## Commands

### Install printer
```
$ lpadmin -p [<printer>] -E -v socket://[<ip>] -m [<driver>]
```

### Print document
```
$ lp [<file>] [<printer>]
```

### Search driver
```
$ lpinfo --make-and-model '[<printer-model>]' -m
```

### Show intalled printers
```
$ lpstat -p
```

### Delete installed printer
```
$ lpadmin -x [<printer>]
```
### [More here](https://www.cups.org/doc/man-lp.html)

## Drivers:
### ZEBRA
Generic driver

_Example:_
```
drv:///sample.drv/zebra.ppd
```
### RICOH
Each printer has its own driver

_Example:_
```
gutenprint.5.3://ricoh-mp_c2011/expert
```
### GODEX
Installed by the Dockerfile (GoDEXdriver-1.1.6.tar.gz)

_Example:_
```
lsb/local/godex/godex-zx420i.ppd
```

## Build With
* [Git](https://git-scm.com/)
* [Nodejs](https://nodejs.org/)
* [Docker](https://www.docker.com/)