summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/pdfreview/pdfshrink.sh
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/pdfreview/pdfshrink.sh
Initial commit
Diffstat (limited to 'macros/latex/contrib/pdfreview/pdfshrink.sh')
-rwxr-xr-xmacros/latex/contrib/pdfreview/pdfshrink.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/macros/latex/contrib/pdfreview/pdfshrink.sh b/macros/latex/contrib/pdfreview/pdfshrink.sh
new file mode 100755
index 0000000000..41f31f0d23
--- /dev/null
+++ b/macros/latex/contrib/pdfreview/pdfshrink.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+INPUTPDF="$1"
+
+if [ -z $1 ]; then
+ echo "Usage: pdfshrink inputfile.pdf [quality [outputfile]]"
+ exit 1
+fi
+
+# values for 'quality' argument:
+#
+# 'prepress' is highest quality,
+# 'ebook' is only 150 dpi
+# 'screen' is 72dpi - looks very poor
+# 'printer' and 'default' are good compromises
+
+
+if [ ! -f "$INPUTPDF" ]; then
+ echo "file $INPUTPDF not found"
+ exit 1
+fi
+
+quality=${2-default}
+
+if [ $quality = 'default' ]; then
+ suffix="shrunk"
+else
+ suffix=$quality
+fi
+
+OUTPUTPDF="${3-${1%.pdf}-${suffix}}"
+OUTPUTPDF="${OUTPUTPDF%.pdf}.pdf"
+
+echo "converting $INPUTPDF to $OUTPUTPDF using quality '$quality'"
+
+gs -sDEVICE=pdfwrite \
+ -dCompatibilityLevel=1.4 \
+ -dHaveTransparency=true \
+ -dFastWebView=true \
+ -dPrinted=false \
+ -dPDFSETTINGS=/$quality \
+ -dEmbedAllFonts=true \
+ -dSubsetFonts=true \
+ -dNOPAUSE \
+ -dQUIET \
+ -dBATCH \
+ -sOutputFile="$OUTPUTPDF" \
+ "$INPUTPDF" 2> /dev/null
+
+chmod 644 "$OUTPUTPDF"
+echo "done"