Tips en Trucs 2022

Bestandsgrootte PDF documenten verkleinen

Leerkrachten sturen studenten wel eens een opdracht per e-mail. Om er zeker van te zijn dat alle studenten de opdracht kunnen lezen, gebruiken we PDF documenten. Als de PDF documenten ingescande documenten en/of foto's bevat kan de bestandsgrootte van zo'n PDF document wel eens tegenvallen. Je kunt ze echter verkleinen waardoor je ze gemakkelijker kunt mailen.

Een PDF document verkleinen met Ghostscript

Zorg voor je experimenteert voor een kopie van het PDF document met een andere naam, je weet maar nooit. Ik gebruik twee willekeurige PDF documenten, een cursus en een magazine:

dany@pindabook:~> ls -lh Downloads/*.pdf
-rw-r--r-- 1 dany users 5,6M 27 jul  2011 Downloads/linux1sp11.pdf
-rw-r--r-- 1 dany users  27M 28 mrt 15:48 Downloads/MagPi115.pdf

Ghostscript is in de meeste distributies standaard geïnstalleerd. Met de volgende Ghostscript opdrachten verkleinen we de bestanden van de beide PDF documenten:

dany@pindabook:~> gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=linux1sp11.pdf Downloads/linux1sp11.pdf
dany@pindabook:~> gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=MagPi115.pdf Downloads/MagPi115.pdf 
Failed to initialise downsample filter, downsampling aborted

Blijkbaar ging er bij de tweede inkrimping iets fout. Door de -dQUIET optie te laten vallen, krijgen we meer informatie:

dany@pindabook:~> gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=MagPi115.pdf Downloads/MagPi115.pdf         
GPL Ghostscript 9.52 (2020-03-19)
Copyright (C) 2020 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 1 through 100.
Page 1
Page 2
Page 3
...
Page 53
Page 54
Failed to initialise downsample filter, downsampling aborted
Page 55
Page 56
...
Page 98
Page 99
Page 100

Blijkbaar ging het fout op pagina 54, na het controleren van deze pagina bleek deze in orde. Er was ook geen sprake van een fout (Error), dus eerder een opmerking. Je kunt dit verder onderzoeken, maar waarschijnlijk is het te wijten aan het niet verder kunnen comprimeren van deze ene pagina.

En dan nu de resultaten:

dany@pindabook:~> ls -lh *.pdf
-rw-r--r-- 1 dany users 2,4M 28 mrt 18:22 linux1sp11.pdf
-rw-r--r-- 1 dany users  13M 28 mrt 18:30 MagPi115.pdf

De winst is opmerkelijk, de cursus (linux1sp11.pdf) krimpt van 5,6 MB naar 2,4 MB (43% winst). Het magazine (MagPi115.pdf) van 27 MB naar 13 MB (48% winst).

Daar staat wel iets tegenover. De -dPDFSETTINGS is de optie die de kwaliteit en de grootte van het PDF document bepaald. Hoe hoger de kwaliteit, hoe groter het bestand. Een overzicht:

-dPDFSETTINGS=/screen   (Schermkwaliteit, 72 dpi afbeeldingen)
-dPDFSETTINGS=/ebook    (Lage kwaliteit, 150 dpi afbeeldingen)
-dPDFSETTINGS=/printer  (Hoge kwaliteit, 300 dpi afbeeldingen)
-dPDFSETTINGS=/prepress (Hoge kwaliteit, kleurecht, 300 dpi afbeeldingen)
-dPDFSETTINGS=/default  (bijna identiek aan /screen)

Met andere woorden de afbeeldingen (of beter de kwaliteit ervan) bepalen in grote mate de grootte van het PDF document. Alle andere elementen zijn immers opgebouwd uit vectoren en tekst, wat zeer goed comprimeerbaar is.

Met ps2pdf

De bovenstaande Ghostscript opdracht bevat veel opties en is daardoor moeilijker te onthouden. De ps2pdf opdracht gebruikt eveneens Ghostscript, maar maakt het de gebruiker eenvoudiger door zelf standaard opties voor de meeste taken in te stellen. Zo kan je met de volgende opdrachten dezelfde PDF documenten comprimeren:

dany@pindabook:~> ps2pdf14 -dPDFSETTINGS=/ebook Downloads/linux1sp11.pdf linux1sp11.2.pdf
dany@pindabook:~> ps2pdf14 -dPDFSETTINGS=/ebook Downloads/MagPi115.pdf MagPi115.2.pdf
Failed to initialise downsample filter, downsampling aborted

Ook aan de opmerking, merken we dat ps2pdf Ghostscript gebruikt. De resultaten:

dany@pindabook:~> ls -lh *.pdf
-rw-r--r-- 1 dany users 2,4M  1 apr 18:26 linux1sp11.2.pdf
-rw-r--r-- 1 dany users 2,4M 28 mrt 18:22 linux1sp11.pdf
-rw-r--r-- 1 dany users  13M  1 apr 18:25 MagPi115.2.pdf
-rw-r--r-- 1 dany users  13M 28 mrt 18:30 MagPi115.pdf

We krijgen dezelfde resultaten als met Ghostscript.

PDF comprimeren

Opruimen

Alle PDF documenten in de Home map kan je in één keer verwijderen met de opdracht:

dany@pindabook:~> rm *.pdf