|
|
@@ -157,13 +157,13 @@ pageResize() { |
|
|
|
# Get new paper sizes if not custom paper |
|
|
|
isNotCustomPaper && getGSPaperSize "$RESIZE_PAPER_TYPE" |
|
|
|
|
|
|
|
vprint " Auto Rotate: $(basename $AUTO_ROTATION)" |
|
|
|
vprint " Auto Rotate: $(basename $AUTO_ROTATION)" |
|
|
|
|
|
|
|
# Flip detect |
|
|
|
local tmpInverter="" |
|
|
|
if [[ $FLIP_DETECTION -eq $TRUE || $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" |
|
|
|
tmpInverter=$RESIZE_HEIGHT |
|
|
|
RESIZE_HEIGHT=$RESIZE_WIDTH |
|
|
@@ -305,82 +305,79 @@ parseScale() { |
|
|
|
|
|
|
|
# Parse a forced mode of operation |
|
|
|
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 |
|
|
|
} |
|
|
|
|
|
|
|
# Parses and validates the scaling factor |
|
|
|
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 |
|
|
|
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() { |
|
|
|
local vStr="" |
|
|
|
[[ "$2" = 'verbose' ]] && vStr=" - Verbose Execution" |
|
|
|
local strBanner="$PDFSCALE_NAME v$VERSION$vStr" |
|
|
|
if [[ $1 -eq 2 ]]; then |
|
|
|
printError "$PDFSCALE_NAME v$VERSION$vStr" |
|
|
|
printError "$strBanner" |
|
|
|
elif [[ $1 -eq 3 ]]; then |
|
|
|
echo "$strBanner" |
|
|
|
else |
|
|
|
vprint "$PDFSCALE_NAME v$VERSION$vStr" |
|
|
|
vprint "$strBanner" |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
@@ -1030,10 +1030,12 @@ vPrintScaleFactor() { |
|
|
|
|
|
|
|
# Prints help info |
|
|
|
printHelp() { |
|
|
|
printVersion |
|
|
|
printVersion 3 |
|
|
|
local paperList="$(printPaperNames)" |
|
|
|
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 -h |
|
|
|
$PDFSCALE_NAME -V |
|
|
|