Browse Source

v2.0.5 - Better GS error handling and debugging messages

master
Gustavo Neves 8 years ago
parent
commit
96ab46ae72
1 changed files with 16 additions and 6 deletions
  1. +16
    -6
      pdfScale.sh

+ 16
- 6
pdfScale.sh View File

@@ -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 "<</BeginPage{$SCALE $SCALE scale $XTRANS $YTRANS translate}>> 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


Loading…
Cancel
Save