Files
infra/stacks/rpi-print/home-print
T

26 lines
829 B
Bash

#!/bin/sh
# Usage: home-print status | home-print [--duplex] FILE.pdf|FILE.png|FILE.jpg
set -eu
printer=home-brother
if [ "${1:-}" = status ]; then
lpstat -p "$printer"
lpstat -W not-completed -o "$printer"
exit
fi
sides=one-sided
if [ "${1:-}" = --duplex ]; then
sides=two-sided-long-edge
shift
fi
if [ "$#" -ne 1 ] || [ ! -f "$1" ]; then
echo 'Укажите один существующий PDF/PNG/JPEG-файл' >&2
exit 2
fi
case "$1" in
*.pdf|*.PDF|*.png|*.PNG|*.jpg|*.JPG|*.jpeg|*.JPEG) ;;
*) echo 'Поддерживаются PDF/PNG/JPEG; Word сначала преобразуйте в PDF' >&2; exit 2 ;;
esac
# Absolute path prevents a filename from becoming an lp option.
file=$(realpath -- "$1")
exec lp -d "$printer" -n 1 -o media=A4 -o fit-to-page -o sides="$sides" "$file"