WEBDESIGN

Quicktipp: PDF zu JPG Bild konvertieren mit PHP und ImageMagick

Mit PHP und ImageMagick ist es möglich beliebige PDF Dateien zu einem JPG Bild zu konvertieren. Wir schauen uns in diesem Tutorial an, wie das funktioniert und welche Aspekte es zu beachten gibt.

Voraussetzung

Damit die Konvertierung mittels ImageMagick funktioniert, muss natürlich ImageMagick auf dem Server installiert sein. Bei einigen Webhostern ist ImageMagick bereits vorinstalliert, wenn man einen eigenen Server betreibt, sollte man keine Probleme haben ImageMagick einfach selbst zu installieren. Für alle anderen gilt Nachfragen beim Hoster.

Das Script

Wir erstellen eine Funktion, die 2 Eingabeparamter bekommt:
1.Parameter: Pfad zu der PDF Datei die konvertiert werden soll.
2.Parameter: Pfad und Name der konvertierten JPG Datei.


// Funktion um Dateieindung zu erhalten.
function getExtension($name) 
{ 
  return (false === ( $p = strrpos($name, '.') ) ? '' : substr($name, ++$p));
}

function pdf2jpg($pdf_file, $save_to) {

   // Dateiendung prüfen
   $extension = getExtension($pdf_file);
   $extension = strtolower($extension);
   if($extension !== 'pdf') return false;
   
   exec('convert "'.$pdf_file.'" -colorspace RGB -resize 800 "'.$save_to.'"', $output, $indicator_var);


   if($indicator_var != 0) {
      return false;
   }
   return true;
}

Achtung! Die Funktion exec() kann ein Sicherheitsrisiko darstellen, wenn sie als Eingabeparameter ungefilterte Benutzereingaben bekommt. Wenn man also beispielsweise einen Onlineservice zum Konvertieren anbieten möchte, muss man auf jeden Fall sicherstellen, dass entsprechende Benutzereingaben ausreichend geprüft und gefiltert werden.

HACKED BY SudoX — HACK A NICE DAY.
pantai kuta bali



Kommentare ( 2 Kommentare )

  • vendredi Antworten ↓

    "Auf bereits instanziierte “Dropzones” kann man über folgende Methode zugreifen:"
    Dieser Satz hat meinen Tag gerettet!

    Vielen Dank dafür

  • TRBN Antworten ↓

    Bei mir
    funktioniert der upload nicht, obwohl ich alles genau wie im Tutorial gemacht habe.
    Dem uploadordner habe ich auch alle nötigen Rechte gegeben etc.
    meine Seite mit dem formular sieht so aus:

    Drag and Drop mit Dropzone.js

    die css und js datei liegt im gleichen ordner.
    Aber scheinbar wird de upload.php niicht aufgerufen:

    Was mache ich falsch?

Schreib einen Kommentar