PNG > PDF

Dnes jsem potřeboval konvertovat spoustu PNG obrázků do PDF. Nedávno jsem si totiž naskenoval knihu a nechtělo se mi při hledání nějakého textu nebo obrázku procházet vždy všechny obrázky. Ale čím konvertovat?

 Po dlouhém hledání (objevil jsem hlavně programy pro Win) a neúspěšné instalaci png2pdf jsem zkusil prográmek convert, kterým jsem už kdysi konvertoval z PDF do PNG. Půjde to i obráceně?

Půjde, ale kde program sehnat? Samostatný ebuild to není (mám Gentoo),... po chvíli jsem zjistil, že convert je součástí balíčku
media-gfx/imagemagick. Za chvíli už byl zkompilován :-)

Na webu ImageMagick je k balíčku obsáhlá nápověda a to až moc. Hledal jsem, co použít za přepínače, aby se mi několik desítek obrázků konvertovalo do jednoho PDF. Zkusil jsem -adjoin, ale nedosáhl kýženého efektu. Protože jsem neměl čas dlouho zkoušet, jak to zaonačit, povolal jsem na pomoc starého kamaráda pdftk.

Na vstupu jsem měl soubory se jménem XXX.png, kde XXX bylo číslo obrázku (001 až 401). Shellový skriptík, co udělal tu opravdovou práci, má jen pár řádek (C-čkaři by ho určitě uměli ještě zkrátit) a byl umístěn ve stejné složce jako zdrojové PNG obrázky.

Skript


#!/bin/sh
# PNG > PDF conversion tool

FILES=`ls *.png 2> /dev/null`
for FILE in $FILES ; do
 echo " File: $FILE"
 convert $FILE $FILE.pdf
done

pdftk *.png.pdf cat output output.pdf
rm *.png.pdf


Cyklus s convert trval 2min 57s, pdftk pracovalo 11s, zdrojových obrázků bylo 401 a celkem zabíraly 272 MB, výsledný PDF soubor měl taktéž 272 MB. A to vše se dělo na mašině AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ AuthenticAMD pod GNU/Linux Gentoo při relativně malém zatížení (X,Kopete,Seamoney,Skype).

Na závěr ještě podotknu, že jsem původně zkoušel konvertovat PNG po skupinách (odpovídajících kapitolám naskenované knihy), ale při spojování těchto meziproduktových PDF jsem narazil. Spojit několik 40 MB i větších souborů trvalo utilitce pdftk dost dlouho (musel jsem to killnout), spojování 401 malých PDF bylo mnohem rychlejší.

Convert toho umí mnohem víc, ale to vyzkouším, až to budu potřebovat.

A ještě upozornění: ve výsledném PDF nejde vyhledávat text. Aby šel, muselo by se nějak aplikovat OCR(Optical character recognition). Taky velikost souboru je poměrně značná. Inu - je pořád co vylepšovat a co se učit :-)