Vorschaubilder massenweise erzeugen
Aus kvwmap
Version vom 15. November 2017, 15:05 Uhr von Rahn (Diskussion | Beiträge)
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);
?>