| @@ -157,13 +157,13 @@ pageResize() { | |||||
| # Get new paper sizes if not custom paper | # Get new paper sizes if not custom paper | ||||
| isNotCustomPaper && getGSPaperSize "$RESIZE_PAPER_TYPE" | isNotCustomPaper && getGSPaperSize "$RESIZE_PAPER_TYPE" | ||||
| vprint " Auto Rotate: $(basename $AUTO_ROTATION)" | |||||
| vprint " Auto Rotate: $(basename $AUTO_ROTATION)" | |||||
| # Flip detect | # Flip detect | ||||
| local tmpInverter="" | local tmpInverter="" | ||||
| if [[ $FLIP_DETECTION -eq $TRUE || $FLIP_FORCE -eq $TRUE ]]; then | if [[ $FLIP_DETECTION -eq $TRUE || $FLIP_FORCE -eq $TRUE ]]; then | ||||
| if [[ $PGWIDTH -gt $PGHEIGHT && $RESIZE_WIDTH -lt $RESIZE_HEIGHT ]] || [[ $FLIP_FORCE -eq $TRUE ]]; then | if [[ $PGWIDTH -gt $PGHEIGHT && $RESIZE_WIDTH -lt $RESIZE_HEIGHT ]] || [[ $FLIP_FORCE -eq $TRUE ]]; then | ||||
| [[ $FLIP_FORCE -eq $TRUE ]] && vprint " Flip Detect: Forced Mode!" || vprint " Flip Detect: Wrong orientation detected!" | |||||
| [[ $FLIP_FORCE -eq $TRUE ]] && vprint " Flip Detect: Forced Mode!" || vprint " Flip Detect: Wrong orientation detected!" | |||||
| vprint " Inverting Width <-> Height" | vprint " Inverting Width <-> Height" | ||||
| tmpInverter=$RESIZE_HEIGHT | tmpInverter=$RESIZE_HEIGHT | ||||
| RESIZE_HEIGHT=$RESIZE_WIDTH | RESIZE_HEIGHT=$RESIZE_WIDTH | ||||
| @@ -305,82 +305,79 @@ parseScale() { | |||||
| # Parse a forced mode of operation | # Parse a forced mode of operation | ||||
| parseMode() { | parseMode() { | ||||
| if isEmpty "$1"; then | |||||
| printError "Mode is empty, please specify the desired mode" | |||||
| printError "Falling back to adaptive mode!" | |||||
| ADAPTIVEMODE=$TRUE | |||||
| MODE="" | |||||
| return $FALSE | |||||
| fi | |||||
| if [[ $1 = 'c' || $1 = 'catgrep' || $1 = 'cat+grep' || $1 = 'CatGrep' || $1 = 'C' || $1 = 'CATGREP' ]]; then | |||||
| ADAPTIVEMODE=$FALSE | |||||
| MODE="CATGREP" | |||||
| return $TRUE | |||||
| elif [[ $1 = 'i' || $1 = 'imagemagick' || $1 = 'identify' || $1 = 'ImageMagick' || $1 = 'Identify' || $1 = 'I' || $1 = 'IDENTIFY' ]]; then | |||||
| ADAPTIVEMODE=$FALSE | |||||
| MODE="IDENTIFY" | |||||
| return $TRUE | |||||
| elif [[ $1 = 'm' || $1 = 'mdls' || $1 = 'MDLS' || $1 = 'quartz' || $1 = 'mac' || $1 = 'M' ]]; then | |||||
| ADAPTIVEMODE=$FALSE | |||||
| MODE="MDLS" | |||||
| return $TRUE | |||||
| elif [[ $1 = 'p' || $1 = 'pdfinfo' || $1 = 'PDFINFO' || $1 = 'PdfInfo' || $1 = 'P' ]]; then | |||||
| ADAPTIVEMODE=$FALSE | |||||
| MODE="PDFINFO" | |||||
| return $TRUE | |||||
| elif [[ $1 = 'a' || $1 = 'adaptive' || $1 = 'automatic' || $1 = 'A' || $1 = 'ADAPTIVE' || $1 = 'AUTOMATIC' ]]; then | |||||
| ADAPTIVEMODE=$TRUE | |||||
| MODE="" | |||||
| return $TRUE | |||||
| else | |||||
| printError "Invalid mode: $1" | |||||
| printError "Falling back to adaptive mode!" | |||||
| ADAPTIVEMODE=$TRUE | |||||
| MODE="" | |||||
| return $FALSE | |||||
| fi | |||||
| local param="$(lowercase $1)" | |||||
| case "${param}" in | |||||
| c|catgrep|'cat+grep') | |||||
| ADAPTIVEMODE=$FALSE | |||||
| MODE="CATGREP" | |||||
| return $TRUE | |||||
| ;; | |||||
| i|imagemagick|identify) | |||||
| ADAPTIVEMODE=$FALSE | |||||
| MODE="IDENTIFY" | |||||
| return $TRUE | |||||
| ;; | |||||
| m|mdls|quartz|mac) | |||||
| ADAPTIVEMODE=$FALSE | |||||
| MODE="MDLS" | |||||
| return $TRUE | |||||
| ;; | |||||
| p|pdfinfo) | |||||
| ADAPTIVEMODE=$FALSE | |||||
| MODE="PDFINFO" | |||||
| return $TRUE | |||||
| ;; | |||||
| *) | |||||
| ADAPTIVEMODE=$TRUE | |||||
| MODE="" | |||||
| if [[ "$param" != 'a' && "$param" != 'auto' && "$param" != 'automatic' && "$param" != 'adaptive' ]]; then | |||||
| printError "Error! Invalid PDF Size Detection Mode: \"$1\", using adaptive mode!" | |||||
| return $FALSE | |||||
| fi | |||||
| return $TRUE | |||||
| ;; | |||||
| esac | |||||
| return $FALSE | return $FALSE | ||||
| } | } | ||||
| # Parses and validates the scaling factor | # Parses and validates the scaling factor | ||||
| parseFlipDetectionMode() { | parseFlipDetectionMode() { | ||||
| local param="$(lowercase $1)" | |||||
| case "${param}" in | |||||
| d|disable) | |||||
| FLIP_DETECTION=$FALSE | |||||
| FLIP_FORCE=$FALSE | |||||
| ;; | |||||
| f|force) | |||||
| FLIP_DETECTION=$FALSE | |||||
| FLIP_FORCE=$TRUE | |||||
| ;; | |||||
| *) | |||||
| [[ "$param" != 'a' || "$param" != 'auto' ]] && printError "Error! Invalid Flip Detection Mode: \"$1\", using automatic mode!" | |||||
| FLIP_DETECTION=$TRUE | |||||
| FLIP_FORCE=$FALSE | |||||
| ;; | |||||
| esac | |||||
| local param="$(lowercase $1)" | |||||
| case "${param}" in | |||||
| d|disable) | |||||
| FLIP_DETECTION=$FALSE | |||||
| FLIP_FORCE=$FALSE | |||||
| ;; | |||||
| f|force) | |||||
| FLIP_DETECTION=$FALSE | |||||
| FLIP_FORCE=$TRUE | |||||
| ;; | |||||
| *) | |||||
| [[ "$param" != 'a' && "$param" != 'auto' ]] && printError "Error! Invalid Flip Detection Mode: \"$1\", using automatic mode!" | |||||
| FLIP_DETECTION=$TRUE | |||||
| FLIP_FORCE=$FALSE | |||||
| ;; | |||||
| esac | |||||
| } | } | ||||
| # Parses and validates the scaling factor | # Parses and validates the scaling factor | ||||
| parseAutoRotationMode() { | parseAutoRotationMode() { | ||||
| local param="$(lowercase $1)" | |||||
| case "${param}" in | |||||
| n|none) | |||||
| AUTO_ROTATION='/None' | |||||
| ;; | |||||
| a|all) | |||||
| AUTO_ROTATION='/All' | |||||
| ;; | |||||
| p|pagebypage|auto) | |||||
| AUTO_ROTATION='/PageByPage' | |||||
| ;; | |||||
| *) | |||||
| printError "Error! Invalid Auto Rotation Mode: $param, using default: $(basename $AUTO_ROTATION)" | |||||
| ;; | |||||
| esac | |||||
| local param="$(lowercase $1)" | |||||
| case "${param}" in | |||||
| n|none) | |||||
| AUTO_ROTATION='/None' | |||||
| ;; | |||||
| a|all) | |||||
| AUTO_ROTATION='/All' | |||||
| ;; | |||||
| p|pagebypage|auto) | |||||
| AUTO_ROTATION='/PageByPage' | |||||
| ;; | |||||
| *) | |||||
| printError "Error! Invalid Auto Rotation Mode: $param, using default: $(basename $AUTO_ROTATION)" | |||||
| ;; | |||||
| esac | |||||
| } | } | ||||
| @@ -1013,10 +1010,13 @@ notIsAvailable() { | |||||
| printVersion() { | printVersion() { | ||||
| local vStr="" | local vStr="" | ||||
| [[ "$2" = 'verbose' ]] && vStr=" - Verbose Execution" | [[ "$2" = 'verbose' ]] && vStr=" - Verbose Execution" | ||||
| local strBanner="$PDFSCALE_NAME v$VERSION$vStr" | |||||
| if [[ $1 -eq 2 ]]; then | if [[ $1 -eq 2 ]]; then | ||||
| printError "$PDFSCALE_NAME v$VERSION$vStr" | |||||
| printError "$strBanner" | |||||
| elif [[ $1 -eq 3 ]]; then | |||||
| echo "$strBanner" | |||||
| else | else | ||||
| vprint "$PDFSCALE_NAME v$VERSION$vStr" | |||||
| vprint "$strBanner" | |||||
| fi | fi | ||||
| } | } | ||||
| @@ -1030,10 +1030,12 @@ vPrintScaleFactor() { | |||||
| # Prints help info | # Prints help info | ||||
| printHelp() { | printHelp() { | ||||
| printVersion | |||||
| printVersion 3 | |||||
| local paperList="$(printPaperNames)" | local paperList="$(printPaperNames)" | ||||
| echo " | echo " | ||||
| Usage: $PDFSCALE_NAME [-v] [-s <factor>] [-m <mode>] [-r <paper>] <inFile.pdf> [outfile.pdf] | |||||
| Usage: $PDFSCALE_NAME <inFile.pdf> | |||||
| $PDFSCALE_NAME [-v] [-s <factor>] [-m <page-detection>] <inFile.pdf> [outfile.pdf] | |||||
| $PDFSCALE_NAME [-v] [-r <paper>] [-f <flip-detection>] [-a <auto-rotation>] <inFile.pdf> [outfile.pdf] | |||||
| $PDFSCALE_NAME -p | $PDFSCALE_NAME -p | ||||
| $PDFSCALE_NAME -h | $PDFSCALE_NAME -h | ||||
| $PDFSCALE_NAME -V | $PDFSCALE_NAME -V | ||||