diff --git a/pdfScale.sh b/pdfScale.sh index 6ea24ff..c22d094 100755 --- a/pdfScale.sh +++ b/pdfScale.sh @@ -12,7 +12,7 @@ # And: https://gist.github.com/MichaelJCole/86e4968dbfc13256228a -VERSION="2.0.4" +VERSION="2.0.5" ###################### EXTERNAL PROGRAMS ####################### @@ -40,6 +40,7 @@ SCALE="0.95" # scaling factor (0.95 = 95%, e.g.) VERBOSE=0 # verbosity Level PDFSCALE_NAME="$(basename $0)" # simplified name of this script OSNAME="$(uname 2>/dev/null)" # Check where we are running +GS_RUN_STATUS="" # Holds GS error messages, signals errors JUST_IDENTIFY=$FALSE # Flag to just show PDF info ADAPTIVEMODE=$TRUE # Automatically try to guess best mode @@ -119,10 +120,11 @@ main() { finalRet=$? fi - if [[ $finalRet -eq $EXIT_SUCCESS ]]; then + if [[ $finalRet -eq $EXIT_SUCCESS ]] && isEmpty "$GS_RUN_STATUS"; then vprint " Final Status: File created successfully" else - vprint " Final Status: Errors were detected. Exit status: $finalRet" + vprint " Final Status: Error detected"$'\n'" Exit status: $finalRet" + printError $'\n'"Ghostscript Debug Info:"$'\n'"$GS_RUN_STATUS" fi return $finalRet @@ -162,6 +164,12 @@ pageScale() { local increase=$(echo "scale=0; (($SCALE - 1) * 100)/1" | "$BCBIN") vprint " Run Scaling: $increase %" + GS_RUN_STATUS="$GS_RUN_STATUS$(gsPageScale 2>&1)" + return $? # Last command is always returned I think +} + +# Runs GS call for scaling, nothing else should run here +gsPageScale() { # Scale page "$GSBIN" \ -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dSAFER \ @@ -172,7 +180,6 @@ pageScale() { -sOutputFile="$OUTFILEPDF" \ -c "<> setpagedevice" \ -f "$INFILEPDF" - return $? } @@ -201,7 +208,12 @@ pageResize() { fi vprint " Run Resizing: $(uppercase "$RESIZE_PAPER_TYPE") ( "$RESIZE_WIDTH" x "$RESIZE_HEIGHT" ) pts" + GS_RUN_STATUS="$GS_RUN_STATUS$(gsPageResize 2>&1)" + return $? +} +# Runs GS call for resizing, nothing else should run here +gsPageResize() { # Change page size "$GSBIN" \ -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dSAFER \ @@ -213,11 +225,9 @@ pageResize() { -dFIXEDMEDIA -dPDFFitPage \ -sOutputFile="$OUTFILEPDF" \ -f "$INFILEPDF" - return $? } - ########################## INITIALIZERS ######################### # Loads external dependencies and checks for errors