gauntface / printboy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Printboy

A simple service to print labels.

This is built for personal use case of easily printing return labels from a Raspberry Pi but there is no reason it couldn't be altered and improved for your use-cases.

It works by "generating" a label on a HTML canvas which is saved as a png and then printed via an lp command.

Printboy

Setup

Print install

The first thing to do is ensure the printer works via CUPs.

A lot of this is from these articles:

  1. Install CUPs sudo apt-get install -y git cups cups-client printer-driver-dymo or sudo dnf install cups-devel

  2. Get printer definition

    1. git clone https://github.com/matthiasbock/dymo-cups-drivers.git
    2. sudo mkdir -p /usr/share/cups/model
    3. sudo cp dymo-cups-drivers/ppd/lw450.ppd /usr/share/cups/model/
  3. Add yourself as a cups admin sudo usermod -a -G lpadmin $USER

  4. Allow remote access to cups:

    sudo cupsctl --remote-admin
    sudo service cups restart
  5. Go to CUPs admin page http://localhost:631

    1. Use your computer login credentials for the username and password for the site
  6. Install the printer

    1. IMPORTANT: Use DYMO_LabelWriter_450_Turbo for the printer name, otherwise printboy will not work.
    2. Cups should pick the correct driver for you.
    3. For general:
      • Output Resolution: 300x600 DPI
      • Print Quality: Barcodes and Graphics
      • Media Size:
        • 30252 Address: 1-1/8" x 3"
        • 30364 Name Badge: 2-1/4" x 4"
  7. Run a test print

Install printboy

  1. Install node
  2. Run npm install @gauntface/printboy
  3. Run cd node_modules/@gauntface/printboy
  4. Run npm run setup
  5. Look at the output for the pm2 command to setup startup

Optional: Install Reverse Proxy

  1. Run sudo apt update && sudo apt install nginx

  2. Run sudo nano /etc/nginx/sites-available/default

    1. Change the location / { block to use:

      location / {
              # First attempt to serve request as file, then
              # as directory, then fall back to displaying a 404.
              # try_files $uri $uri/ =404;
              proxy_pass http://localhost:1314;
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection 'upgrade';
              proxy_set_header Host $host;
              proxy_cache_bypass $http_upgrade;
              proxy_cache_valid 5m;
      }
      
  3. Check for errors with sudo nginx -t

  4. Restart with sudo systemctl restart nginx

About

License:Apache License 2.0


Languages

Language:TypeScript 65.2%Language:JavaScript 20.9%Language:HTML 9.1%Language:CSS 3.8%Language:Dockerfile 0.8%Language:Makefile 0.2%