This is a Sendcloud compatible Print Client which runs on Windows, Linux and Mac. Its goal is providing a simple and easy to use interface to print documents from any application to a printer connected to the computer.
git clone http://github.com/bitinflow/print-utils.git
npm install
npm install pm2 -g
Follow these steps:
- Create a new folder
c:\etc\.pm2
- Create a new
PM2_HOME
variable (at System level, not User level) and set the valuec:\etc\.pm2
- Close all your open terminal windows (or restart Windows)
- Ensure that your
PM2_HOME
has been set properly, runningecho %PM2_HOME%
Start and add a process to the pm2 process list:
pm2 start index.js --name print-utils
Stop, start and restart a process from the process list:
pm2 stop print-utils
pm2 start print-utils
pm2 restart print-utils
curl --location 'http://127.0.0.1:1903/printers'
The
default
property is currently alwaysfalse
because the default printer is not yet supported.
[
{
"default": false,
"format": "PDF",
"id": "PM-241-BT (Network)",
"name": "PM-241-BT (Network)"
}
]
curl --location 'http://127.0.0.1:1903/printers/PM-241-BT%20(Network)/print' \
--form 'file=@"label.pdf"' \
--form 'copies="1"'
On windows the response does not return any real job id. Instead, it returns a 0.
{
"jobs": [
"1"
]
}
If the request is not successful, the response will contain an error message and an error id.
{
"error": "Missing PDF file",
"error_id": "missing_pdf"
}
Here is a list of possible error ids (but not all of them are implemented yet):
Error ID | Description |
---|---|
missing_pdf | Missing PDF file |
invalid_label | Invalid label format |
null | Unsuccessful print job: {...} |