aboutsummaryrefslogtreecommitdiffstats
path: root/home-manager/soispha/packages/scripts/apps/con2pdf
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/soispha/packages/scripts/apps/con2pdf')
-rwxr-xr-xhome-manager/soispha/packages/scripts/apps/con2pdf152
1 files changed, 0 insertions, 152 deletions
diff --git a/home-manager/soispha/packages/scripts/apps/con2pdf b/home-manager/soispha/packages/scripts/apps/con2pdf
deleted file mode 100755
index 9cadc376..00000000
--- a/home-manager/soispha/packages/scripts/apps/con2pdf
+++ /dev/null
@@ -1,152 +0,0 @@
-#! /usr/bin/env dash
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
-
-
-# needed for help() and version
-# shellcheck disable=2034
-AUTHORS="Soispha";
-# shellcheck disable=2034
-YEARS="2023";
-# shellcheck disable=2034
-VERSION="1.0.0";
-
-help() {
-cat << EOF
-Scan images and turn them into a pdf.
-
-Usage:
- $NAME [--help|--version|--out-dir|--num-pages|--method] --name --device
-
-Options:
- --out-dir | -o
- Path to place the generated pdf files (default: ./pdf).
- --name | -n
- Name for the pdf files (e.g. "\$name"_1.pdf).
- --num-pages | -p
- Number of pages to merge into one pdf (default: 1).
- --device | -d
- Device used for scanning.
- --method | -m
- Method to use for scanning (default: ADF).
- --help | -h
- Display this help and exit.
- --version | -v
- Display version and copyright information and exit.
-EOF
-}
-
-scan() {
- number_of_pages="$1";
- device="$2";
- output_directory="$3";
- name="$4";
- method="$5";
-
- [ -z "$number_of_pages" ] && die "Parameter 'number_of_pages' is not set!"
- [ -z "$device" ] && die "Parameter 'device' is not set!"
- [ -z "$output_directory" ] && die "Parameter 'output_directory' is not set!"
- [ -z "$name" ] && die "Parameter 'name' is not set!"
- [ -z "$method" ] && die "Parameter 'method' is not set!"
-
- tiff_temp_path="$(mktmp -d)";
- cd "$tiff_temp_path" || die "Bug"
-
- msg "Started scanning...";
- if [ "$method" = "Flatbed" ]; then
- do_until_success \
- "scanimage --format=tiff --progress --source='$method' --device='$device' --output-file=1.tiff" \
- "warn 'Retrying scan, as we assume a network error!'"
- else
- for i in $(seq "$number_of_pages");do
- do_until_success \
- "scanimage --format=tiff --progress --source='$method' --device='$device' --batch=%d.tif --batch-increment='$number_of_pages' --batch-start='$i'" \
- "warn 'Retrying scan, as we assume a network error!'"
-
-
- if [ "$number_of_pages" -ne 1 ];then
- msg "Finished turn, please change side!";
- readp "Press enter to continue" noop
- fi
- done
- fi
-
- msg "Creating output directory...";
- mkdir "$output_directory";
- cd "$output_directory" || die "Bug"
-
- counter=0;
- msg "Converting images to pdfs...";
- while read -r scanned_image_a;do
- if [ "$number_of_pages" -ne 1 ];then
- scanned_image_b_set=false;
- if [ -z "$scanned_image_b" ];then
- scanned_image_b="$i"
- scanned_image_b_set=true;
- : $((counter += 1))
- fi
-
- if [ -n "$scanned_image_a" ] && [ "$scanned_image_b_set" = false ];then
- convert "$scanned_image_b" "$scanned_image_a" -compress jpeg -quality 100 "$name"_"$counter".pdf
- fi
- else
- : $((counter += 1))
- convert "$scanned_image_a" -compress jpeg -quality 100 "$name"_"$counter".pdf
- fi
-
- done < "$(tmp "fd . '$tiff_temp_path' | sort -n")"
-}
-
-for input in "$@"; do
- case "$input" in
- "--help" | "-h")
- help;
- exit 0;
- ;;
- "--version" | "-v")
- version;
- exit 0;
- ;;
- esac
-done
-
-number_of_pages="1";
-unset device;
-output_directory="$(pwd)/pdf";
-unset name;
-method="ADF";
-
-while [ "$#" -ne 0 ]; do
- case "$1" in
- "--help" | "-h")
- ;;
- "--version" | "-v")
- ;;
- "--out-dir" | "-o")
- shift 1;
- output_directory="$1";
- ;;
- "--name" | "-n")
- shift 1;
- name="$1";
- ;;
- "--num-pages" | "-p")
- shift 1;
- number_of_pages="$1";
- ;;
- "--device" | "-d")
- shift 1;
- device="$1";
- ;;
- "--method" | "-m")
- shift 1;
- method="$1";
- ;;
- *)
- die "Command line arg $1 does not exist. See --help for a list.";
- ;;
- esac
- shift 1;
-done
-scan "$number_of_pages" "$device" "$output_directory" "$name" "$method";