PDF v Linuxu

Soubory PDF jsou dnes asi nejrozšířenějším formátem, resp. kontejnerem pro uchovávání dokumentů. PDF může obsahovat jak rastrová, tak vektorová data. Díky GNU Linuxu, faktu že je zdarma a díky jeho nástrojům lze v prostředí shellu (konzole) provádět s PDF soubory, obrázkovými soubory a dalšími typy souborů různé operace. Tento článek Vám může posloužit jako kuchařka, která se věnuje těm nejběžnějším akcím často prováděnými nad soubory dokumentů PDF.

Převod obrázku do PDF

Pro převod obrázků (například ze skeneru) do PDF zde máme nástroj convert. V repozitářích jej najdete v balíčku ImageMagick. Convert umí převádět jeden i více souborů do PDF. Pokud převádíme více souborů, odpovídá to více stranám ve výsledném PDF.

convert obrazek.png vystupni.pdf

convert obr1.png obr2.jpg obr3.png vystupni.pdf

Protože je PDF tvořen rastrovými daty, upozorňujeme, že jeho velikost s každou stranou znatelně poroste.

Sloučení několika PDF souborů do jednoho

Pro spojení několika PDF souborů do jednoho můžeme využít nástroj convert, stejným způsobem jako pro převod obrázků do PDF. Jinou možností je nástroj pdfunite, který bývá součástí instalovaných základních nástrojů v Linuxových distribucích.

pdfunite prvni.pdf druhy.pdf vystupni.pdf

Získání vybraných stran z PDF

Pro extrakci vybraných stran zde máme nástroj pdftk, který najdeme ve stejnojmenném balíčku. Tento nástroj toho umí opravdu hodně, například i přidat “vodotisk” na pozadí, připojit soubory do dokumentu, zašifrovat PDF, orotovat stránky, atd. Extrakci stran 1 až 4 bychom provedli následujícím způsobem. Výstupem je nový PDF soubor.

pdftk vstupni.pdf cat 1-4 output vystupni.pdf 

Převod PDF do barevného schématu B&W

Pro převod do barevného schématu B&W můžeme mít více důvodů. Jedním z těch častých je redukce velikosti PDF dokumentu s rastrovým obsahem. Opět k tomu použijeme nástroj convert z balíčku ImageMagick

convert -density 150 -treshold 75% vstupni.pdf vystupni.pdf

Redukce velikosti PDF souboru

Pokud potřebujeme změnšit velikost souboru PDF a nechceme jít cestou jeho převodu do černo bílého barevného schématu, případně do odstínů šedi, můžeme uplatnit další postupy jako kompresi, snížení kvality a hustoty DPI.

Pro kompresi PDF můžeme použít nástroj gs. Jeho syntaxe a použití je o něco krkolomnější, ale přesto jednoduché.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=vystupni.pdf vstupni.pdf

Chceme-li degradovat kvalitu a snížit velikost souboru o pár MB, můžeme opět použít nástroj convert

convert -density 150x150 -quality 60 -compress jpeg vstupni.pdf vystupni.pdf

Získání informací o PDF souboru

Zajímají-li nás metadata jako je velikost stran v PDF, autor, generující aplikace, počet stran, šifrování a další, můžeme použít nástroj pdfinfo

pdfinfo vstupni.pdf

Creator:        Writer
 Producer:       LibreOffice 6.3
 CreationDate:   Thu Feb  6 14:15:26 2020 CET
 Tagged:         no
 UserProperties: no
 Suspects:       no
 Form:           none
 JavaScript:     no
 Pages:          3
 Encrypted:      no
 Page size:      595.304 x 841.89 pts (A4)
 Page rot:       0
 File size:      77630 bytes
 Optimized:      no
 PDF version:    1.5