Vorschaubilder massenweise erzeugen
Aus kvwmap
Mit diesem PHP-Skript lassen sich die Vorschaubilder, die kvwmap beim Hochladen eines Dokumentes erzeugt, in einem Verzeichnisbaum rekursiv massenweise neu erstellen. Dabei wird bei mehrseitigen PDFs die Seitenzahl in das Vorschaubild geschrieben.
<? $documentpath = '/var/www/data/nachweise'; function create_previews($dir){ $files = scandir($dir); foreach($files as $file){ if($file != "." && $file != ".."){ if(is_dir($dir.'/'.$file)){ create_previews($dir.'/'.$file); }elseif(strpos($file, 'thumb') === false){ $file = $dir.'/'.$file; $dateinamensteil = explode('.', $file); $label = ''; if(strtolower($dateinamensteil[1]) == 'pdf'){ exec('gs -q -dNODISPLAY -c "('.$file.') (r) file runpdfbegin pdfpagecount = quit"', $output); if((int)$output[0] > 1){ $label = "-fill black -undercolor white -gravity North -pointsize 18 -annotate +0+15 ' ".$output[0]." Seiten '"; } } exec('convert '.$file.'[0] -quality 75 -background white '.$label.' -flatten -resize 1000x1000\> '.$dateinamensteil[0].'_thumb.jpg'); echo "Erzeuge ".$dateinamensteil[0]."_thumb.jpg\n"; } } } } create_previews($documentpath); ?>