### Tworzenie miniaturek PDF-ów

Miniaturki pierwszych stron PDF-ów do wstawienia na strony Nowej Biblioteki Narodowej można utworzyć za pomocą narzędzia [Ghostscript](https://www.ghostscript.com/). Wykorzystać do tego celu można następujące polecenie:

    gs -dSAFER -sDEVICE=png16m -r300 -dDownScaleFactor=6 -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -sPageList=1 -o miniaturka.png dokument.pdf

Miniaturkę wstawiamy na stronę za pomocą następującego kodu:

    [![Otwórz plik PDF](https://example.org/miniaturka.png)](https://example.org/dokument.pdf)

### Optymalizacja rozmiarów plików graficznych

Czasami przydatne jest, w celu zmniejszenia czasu pobierania ich przez czytelników biblioteki, zoptymalizowanie rozmiarów plików dużych grafik. Do optymalizacji rozmiarów plików PNG można użyć narzędzi [pngcrush](https://pmt.sourceforge.io/pngcrush/) i [AdvanceCOMP](http://www.advancemame.it/comp-readme):

    pngcrush -ow -reduce -rem allb mapa.png && advpng -z4 mapa.png

Jeżeli polecenie `advpng` nie zadziała należy je zamienić na `advdef`.

Możliwa jest także stratna kompresja plików PNG, co przydatne jest do zmniejszania rozmiarów miniaturek. Służy do tego narzędzie [pngquant](https://pngquant.org/):

    pngquant -Q0-75 -s1 miniaturka.png

Dodatkowe zmniejszenie rozmiaru tak powstałych plików można osiągnąć używając wymienionego wyżej narzędzia AdvanceCOMP.

Rozmiary plików JPEG można z kolei zoptymalizować za pomocą narzędzia [jpegoptim](http://www.kokkonen.net/tjko/projects.html#jpegoptim):

    jpegoptim -s mapa.png

Największą redukcję rozmiaru plików JPEG można uzyskać używając jpegoptim zlinkowanego z biblioteką [MozJPEG](https://github.com/mozilla/mozjpeg/blob/master/README.md). Gotową binarkę dla GNU/Linuksa dla architektury x86_64 [można znaleźć na serwerze wandejskim](//gov.wandystan.eu/jpegoptim-mozjpeg/), lub też można skompilować program samodzielnie używając następujących poleceń:

    export CFLAGS='-O2 -pipe -march=native'
    tar -xf mozjpeg-3.2-release-source.tar.gz
    cd mozjpeg/
    ./configure --prefix=/tmp/mozjpeg --disable-shared
    make -j$(nproc)
    make install
    cd ..
    tar -xf jpegoptim-1.4.4.tar.gz 
    cd jpegoptim-1.4.4/
    ./configure --with-libjpeg=/tmp/mozjpeg
    make -j$(nproc)
    sudo make install
    unset CFLAGS