summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Wang2022-07-19 11:49:48 -0500
committerAnthony Wang2022-07-19 11:49:48 -0500
commita69632ec558f0cf3aff1743b7a26b9b4a925ab71 (patch)
tree85ef603bca9c7c6ab9838fcfd314c6dfc9a0c087
parentc20349e7fd5cd12eca40fa3d8b5d6ea773f707ca (diff)
Add print duplex script
-rwxr-xr-x.local/bin/print-duplex56
1 files changed, 56 insertions, 0 deletions
diff --git a/.local/bin/print-duplex b/.local/bin/print-duplex
new file mode 100755
index 0000000..ac6c060
--- /dev/null
+++ b/.local/bin/print-duplex
@@ -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