Add print duplex script

This commit is contained in:
Anthony Wang 2022-07-19 11:49:48 -05:00
parent c20349e7fd
commit a69632ec55
Signed by: a
GPG key ID: BC96B00AEC5F2D76

56
.local/bin/print-duplex Executable file
View file

@ -0,0 +1,56 @@
#!/bin/bash
# @see: https://opensource.com/article/20/4/print-duplex-bash-script#!/bin/bash
# take any PDF file and print the odd pages first
# THEN, ask the user to put the paper back in the printer, face down
# THEN, print even pages
# take the default printer from the cups configuration
# OR manually set it
_PRINTER="HP_LaserJet_1022"
#_PRINTER=$(grep DefaultPrinter -i /etc/cups/printers.conf | awk {'print$2'} | sed -e "s/>//")
if [ "$#" -lt "1" ]
then
echo -e "Document to print is required."
exit 1
fi
_DOCUMENT_COUNT=$#
_INDEX=1
_print() {
lpr -P $_PRINTER -o $@ "$_DOCUMENT"
}
_log() {
echo ${_DOCUMENT} - $1
}
_print_document() {
_log "Printing even pages"
_print page-set=even -o outputorder=reverse
_log "Place paper back into the printer in EXACT OUTPUT ORDER (face down in tray) then press ENTER"
read _IS_DONE
_log "Printing odd pages"
_print page-set=odd -o orientation-requested=6
}
_wait_between_documents() {
if [ "$_INDEX" -lt "$_DOCUMENT_COUNT" ]
then
_log "Press ENTER when document is finished printing ($_INDEX) $_DOCUMENT_COUNT"
read _IS_DONE
((_INDEX++))
fi
}
for _DOCUMENT in $@
do
_print_document
_wait_between_documents
done