ImagickException: operation not allowed by the security policy `PDF'

  • Hallo zusammen,

    ich betreibe in meinem Webhosting eine Contao-Instanz. Das Plugin Flipbert verwendet ImageMagick zur Generierung einer Vorschau usw.

    Die Skripte schlagen jedoch mit folgender Fehlermeldung fehl:

    Code
    [2022-03-28 21:07:54] request.CRITICAL: Uncaught PHP Exception ImagickException: "attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408" at /var/www/vhosts/hosting11111.a2eeb.netcup.net/httpdocs/contao/vendor/duncrow-gmbh/flipbert/src/Resources/contao/classes/FlipbookRow.php line 40 {"exception":"[object] (ImagickException(code: 499): attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408 at /var/www/vhosts/hosting11111.a2eeb.netcup.net/httpdocs/contao/vendor/duncrow-gmbh/flipbert/src/Resources/contao/classes/FlipbookRow.php:40)"} []

    im Plugin php skript wird Imagemagick folgendermaßen aufgerufen:

    PHP
    39: if(!file_exists('files/flipbert/thumbnails/'.$flipbook->alias.'.jpg')) {
    40:      $im = new \Imagick($pdf.'[0]');
    41:      $im->setImageFormat('jpg');
    42:      $im->writeImage('../files/flipbert/thumbnails/'.$flipbook->alias.'.jpg');

    Anscheinend kann der Fehler durch die Anpassung der ImageMagick Konfiguration behoben werden, jedoch sind diese vom Webhosting-Nutzer nicht editierbar. Gibt es einen anderen Weg die Security Policy von Imagemagick zu editieren?


    Beste Grüße

    Tilo

  • Das angesprochene Plugin kenne ich nicht. Ich kann aber sagen, dass in meinem Webhosting hier bei netcup von Contao 4.13 Vorschaubilder von PDF-Dateien mittels ImageMagick erfolgreich erzeugt werden, jedenfalls im Webprozess. Sowohl im Backend als auch im Frontend. Allerdings eben mit der Contao Core-Funktionalität, die es soweit ich weiss, erst seit Contao 4.13 gibt. Da bin ich mir aber ohne nachzuschauen nicht 100% sicher.

  • Ich habe mal testweise auf Contao 4.13 aktualisiert. Zuvor hatte ich 4.9.

    Mit der neuen Version werden die Vorschaubilder ebenfalls nicht generiert. Nur erhalte ich da auch keine Fehlermeldungen.

    Muss erst noch etwas konfiguriert werden bevor es mit Dokumenten funktioniert oder sollte das auf Anhieb funktionieren?

  • Contao 4.9 konnte das noch nicht mit PDF, glaube ich jedenfalls. Müsste man mal die Changelogs durchschauen, wann das reingekommen ist. Edit: Es ist tatsächlich in Contao 4.13 neu dazugekommen. Ich habe hier bei netcup unter anderem ein Webhosting 8000. Darin habe ich eine 4.13 Installation, wo es im Rahmen der von Contao 4.13 angebotenen Funktionalität funktioniert. Ich sehe zum Einen im Backend in der Dateiverwaltung Vorschaubilder von PDF-Dokumenten, nämlich beim Klick auf das Info-Symbol. Und zum Anderen, Vorschaubilder von PDF-Dateien, die im Downloadelement zum Download angeboten werden und für die das Erzeugen von Vorschaubildern aktiviert ist.


    An anderen Stellen wird diese ImageMagick-Funktionalität, soweit ich weiss, (noch?) nicht genutzt/angeboten. Aber es zeigt jedenfalls, dass ImageMagick prinzipiell auch im netcup-Webhosting funktioniert und Bilder aus PDF-Dateien erzeugen kann.

  • Hallo,


    ich das mehr oder weniger auch ein Problem in meinem PHP Code (es gib darum das man PDF Dateien hochladen kann und die Seite erstellt ein Vorschaubilder)

    Ich habe durch Spatie (https://github.com/spatie/pdf-to-image ) ersetzt, da ich keine andere Lösung gefunden habe.

    $pdf = new Spatie\PdfToImage\Pdf($pdfUploadFilePath);

    $pdf->saveImage($ImageFilePath.".png");