/ #Dokumentasi #Linux 

Bagaimana Kompress File PDF di Terminal Linux

Kadang-kadang, file pdf yg kita buat terlalu besar. Sedangkan spesifikasi buat uploadnya maksimal cuma 5MB misalnya. Gimana cara kompresinya? Jika di linux, bisa menggunakan ghostscript bernama shrinkpdf dari Alfred Klomp. Berikut ini scriptnya :

shrink () > { gs  -q -dNOPAUSE -dBATCH -dSAFER  -sDEVICE=pdfwrite  -dCompatibilityLevel=1.3  -dPDFSETTINGS=/screen  -dEmbedAllFonts=true  -dSubsetFonts=true  -dColorImageDownsampleType=/Bicubic  -dColorImageResolution=72  -dGrayImageDownsampleType=/Bicubic  -dGrayImageResolution=72  -dMonoImageDownsampleType=/Bicubic  -dMonoImageResolution=72  -sOutputFile=“$2”  ”$1” } > check_smaller () {

If $1 and $2 are regular files, we can compare file sizes to

see if we succeeded in shrinking. If not, we copy $1 over $2:

if [ ! -f “$1” -o ! -f “$2” ]; then return 0; fi ISIZE=“$(echo $(wc -c ”$1”) | cut -f1 -d )“ OSIZE=”$(echo $(wc -c “$2”) | cut -f1 -d )“ if [ ”$ISIZE” -lt “$OSIZE” ]; then echo “Input smaller than output, doing straight copy” >&2 cp “$1” “$2” fi } > usage () { echo “Reduces PDF filesize by lossy recompressing with Ghostscript.” echo “Not guaranteed to succeed, but usually works.” echo “  Usage: $1 infile [outfile]” } > IFILE=“$1” >

Need an input file:

if [ -z “$IFILE” ]; then usage “$0” exit 1 fi >

Output filename defaults to “-” (stdout) unless given:

if [ ! -z “$2” ]; then OFILE=“$2” else OFILE=“-” fi > shrink “$IFILE” “$OFILE” || exit $? > check_smaller “$IFILE” “$OFILE”

Bisa di download juga di websitenya disini. Masukin teks editor seperti gedit / nano / vim. simpan dengan nama shrinkpdf.sh

Cara menggunakannya gampang, buka terminal / command line linux lalu jalanin seperti dibawah ini

./shrinkpdf.sh in.pdf out.pdf

in.pdf adalah nama pdf yg akan di kompresi, out.pdf adalah hasil keluaran pdf yg akan dikompresi namanya apa.

Hasilnya

Setelah dicoba, lumayan efektif. File ebooks Metaprogramming yg sebelumnya 16MB, dikompresi jadi 2,7MB. Terlihat file gambar di pdf jadi 72dpi saja, tapi gak masalah. Yang penting ukurannya mengecil

kamu di halaman ini selama .