]> git.netwichtig.de Git - user/henk/vcsh/zsh.git/commitdiff
refactor and handle errors
authorHendrik Jäger <gitcommit@henk.geekmail.org>
Thu, 29 Dec 2022 09:36:31 +0000 (10:36 +0100)
committerHendrik Jäger <gitcommit@henk.geekmail.org>
Thu, 29 Dec 2022 09:36:31 +0000 (10:36 +0100)
.zsh_functions/henkspngpostproc

index c35650d634672f274590f21c3d10e54955bd5e85..e721f4c4f6f1667da4c5d18767731cbef38f583d 100644 (file)
@@ -1,25 +1,30 @@
+setopt PIPE_FAIL
+
 local resize_by
 local img
 resize_by="$1"
 shift
-echo "Creating Directories …"
-mkdir --parents resized/pngnqed/optipnged optimized
 for img in $*
 do
-       echo "Resizing image …"
-       convert -resize $resize_by% "$img" "resized/$img"
-       echo "Running pngnq …"
-       pngnq -s1 -f -d "resized/pngnqed" -e .png "resized/$img"
-       echo "Running optipng …"
-       optipng -force -out "resized/pngnqed/optipnged/$img" "resized/pngnqed/$img"
-       echo "Moving final image to directory 'optimized' …"
-       cp --verbose --interactive --target-directory=optimized/ "resized/pngnqed/optipnged/$img"
-       echo "Removing temporary images …"
-       #rm --verbose --interactive \
-       rm --verbose \
-               "resized/$img" \
-               "resized/pngnqed/$img" \
-               "resized/pngnqed/optipnged/$img"
-       img2pdf --output $(basename $img .png).pdf optimized/${img}
+       echo "Processing ${img} ..."
+       # mostly to remove the alpha channel so ocrmypdf can work with it
+       # does not seem to work all the time, so 'convert' is used as well below
+       # still nice to optimize
+       optipng "${img}"
+       if [ $? -ne 0 ]
+       then
+               echo "optipng failed"
+               return
+       fi
+       # resize
+       # and remove alpha channel so ocrmypdf can work with it
+       # ocrmypdf does the quantization of the png which reduces size drastically
+       convert -resize $resize_by% -alpha off "$img" - \
+       | ocrmypdf - "$(basename $img .png).pdf"
+       if [ $? -ne 0 ]
+       then
+               echo "convert or ocrmypdf failed"
+               return
+       fi
 done
-rmdir --parents resized/pngnqed/optipnged
+