Browse Source
This script is only the very first initial draft. It still needs some proper kind of input sanitization (no input, or wrong input) together with a respective output.master
hannes
8 years ago
committed by
GitHub
1 changed files with 85 additions and 0 deletions
@ -0,0 +1,85 @@ |
|||
#!/bin/sh |
|||
|
|||
################################################################# |
|||
# This is a script to compress pdf files with ghostscript |
|||
# |
|||
# Author: Hannes Bohnengel |
|||
# Last modified: 21 September 2016 |
|||
# Revision: 0.1 |
|||
# CLI usage: ./ghostscript.sh [FILENAME] [COMPRESSION LEVEL] |
|||
# Sources: https://gist.github.com/firstdoit/6390547 |
|||
# http://ghostscript.com/doc/current/Ps2pdf.htm |
|||
# |
|||
################################################################# |
|||
|
|||
## |
|||
# -- Settings |
|||
## |
|||
|
|||
# First input argument (name of input file) |
|||
IN="$1" |
|||
|
|||
# Second input argument (compression level) |
|||
LEVEL="$2" |
|||
|
|||
# Description of compression levels |
|||
#- /screen selects low-resolution output similar to the Acrobat Distiller "Screen Optimized" setting. |
|||
#- /ebook selects medium-resolution output similar to the Acrobat Distiller "eBook" setting. |
|||
#- /printer selects output similar to the Acrobat Distiller "Print Optimized" setting. |
|||
#- /prepress selects output similar to Acrobat Distiller "Prepress Optimized" setting. |
|||
#- /default selects output intended to be useful across a wide variety of uses, possibly at the expense of a larger output file. |
|||
|
|||
# Setting compression level (5: highest compression; 1: lowest compression) |
|||
case "$LEVEL" in |
|||
1) COMP="/prepress" |
|||
;; |
|||
2) COMP="/printer" |
|||
;; |
|||
3) COMP="/ebook" |
|||
;; |
|||
4) COMP="/screen" |
|||
;; |
|||
5) COMP="/default" |
|||
;; |
|||
*) COMP="/printer" |
|||
LEVEL=2 |
|||
;; |
|||
esac |
|||
|
|||
# Create name of output file as INPUTNAME_compressed.pdf |
|||
OUT=${IN%.*} |
|||
OUT="${OUT}-compressed-$LEVEL.pdf" |
|||
|
|||
# Define command |
|||
MYCMD="gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=${COMP} -dNOPAUSE -dQUIET -dBATCH -sOutputFile=${OUT} ${IN}" |
|||
|
|||
## |
|||
# -- End of settings |
|||
## |
|||
|
|||
# Output |
|||
echo "================================================================================ |
|||
Compression of a pdf file using ghostscript\n |
|||
Input file name: $IN |
|||
Output file name: $OUT |
|||
Compression level: $LEVEL/5 |
|||
================================================================================\n |
|||
> Starting compression...\n" |
|||
|
|||
# Check second input parameter |
|||
#if [ $2 -lt 1 ] || [ $2 -gt 5 ] |
|||
#then |
|||
# echo "> Unvalid compression level input -> Set compression level to $LEVEL\n |
|||
#> Starting compression...\n" |
|||
#else |
|||
# echo "> Starting compression...\n" |
|||
#fi |
|||
|
|||
# Execute command |
|||
$MYCMD |
|||
|
|||
echo "\n> Finished compression" |
|||
|
|||
################################################################# |
|||
# EOF |
|||
################################################################# |
Loading…
Reference in new issue