Bitte verwenden sie die "Drucken" Funktion am Seitenende, um ein PDF zu erstellen.
Für Webhosting Linux-Pakete, IONOS Performance Hosting und Managed Dedicated Server
ImageMagick ist eine Sammlung von Anwendungen zur Erstellung, Bearbeitung und Konvertierung von Bilddateien. In Webhosting-Paketen und auf IONOS Managed Servern steht Ihnen ImageMagick in Form der Anwendung convert unter /usr/bin/convert bereits vorinstalliert zur Verfügung. Mit dem convert-Befehl können Sie Dateiformate für Bilder konvertieren, skalieren, weichzeichnen, beschneiden und vieles mehr. Der Zugriff auf convert erfolgt über Skripte oder per direktem Shell-Befehl.
Verwendungsbeispiele
Einfache Konvertierung, z.B. einer JPG-Datei in eine PNG-Datei:
convert beispiel.jpg beispiel.png
Konvertieren einer Bilddatei und dabei die Größe für die PNG-Zieldatei um z.B. 50% reduzieren:
convert beispiel.jpg -resize 50% beispiel.png
Konvertieren und die Auflösung der PNG-Zieldatei auf z.B. 480x95 Pixel festlegen:
convert -size 480x95 beispiel.jpg beispiel.png
PDF-Unterstützung aktivieren
In der Standardeinstellung ist es aus Sicherheitsgründen nicht möglich, Dateien vom oder ins PDF-Format zu konvertieren. Sie können die PDF-Unterstützung jedoch wie folgt aktivieren:
- Erstellen Sie das Verzeichnis .config/ImageMagick im Hauptverzeichnis Ihres Webspace.
- Erstellen Sie eine Textdatei mit dem Namen policy.xml und kopieren Sie den folgenden Code in diese Datei:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policymap [
<!ELEMENT policymap (policy)+>
<!ATTLIST policymap xmlns CDATA #FIXED ''>
<!ELEMENT policy EMPTY>
<!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
]>
<!--
Configure ImageMagick policies.
Derived from /etc/ImageMagick-6/policy.xml.
-->
<policymap>
<!-- <policy domain="system" name="shred" value="2"/> -->
<!-- <policy domain="system" name="precision" value="6"/> -->
<!-- <policy domain="system" name="memory-map" value="anonymous"/> -->
<!-- <policy domain="system" name="max-memory-request" value="256MiB"/> -->
<!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="map" value="512MiB"/>
<policy domain="resource" name="width" value="16KP"/>
<policy domain="resource" name="height" value="16KP"/>
<!-- <policy domain="resource" name="list-length" value="128"/> -->
<policy domain="resource" name="area" value="128MB"/>
<policy domain="resource" name="disk" value="1GiB"/>
<!-- <policy domain="resource" name="file" value="768"/> -->
<policy domain="resource" name="thread" value="2"/>
<!-- <policy domain="resource" name="throttle" value="0"/> -->
<!-- <policy domain="resource" name="time" value="3600"/> -->
<!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
<!-- <policy domain="module" rights="none" pattern="{PS,PDF,XPS}" /> -->
<!-- <policy domain="delegate" rights="none" pattern="HTTPS" /> -->
<!-- <policy domain="path" rights="none" pattern="@*" /> -->
<!-- <policy domain="cache" name="memory-map" value="anonymous"/> -->
<!-- <policy domain="cache" name="synchronize" value="True"/> -->
<!-- <policy domain="cache" name="shared-secret" value="passphrase" stealth="true"/> -->
<!-- <policy domain="system" name="pixel-cache-memory" value="anonymous"/> -->
<!-- <policy domain="system" name="shred" value="2"/> -->
<!-- <policy domain="system" name="precision" value="6"/> -->
<!-- not needed due to the need to use explicitly by mvg: -->
<!-- <policy domain="delegate" rights="none" pattern="MVG" /> -->
<!-- use curl -->
<policy domain="delegate" rights="none" pattern="URL" />
<policy domain="delegate" rights="none" pattern="HTTPS" />
<policy domain="delegate" rights="none" pattern="HTTP" />
<!-- in order to avoid to get image with password text -->
<policy domain="path" rights="none" pattern="@*"/>
<!-- enable processing on data types PDF, PNG -->
<policy domain="coder" rights="read | write" pattern="{PS,PS2,PS3,EPS,XPS,PDF,PNG}" />
<policy domain="module" rights="read | write" pattern="{PS,PS2,PS3,EPS,XPS,PDF,PNG}" />
</policymap>
Laden Sie die fertige Datei policy.xml in das Verzeichnis .config/ImageMagick hoch.
Die PDF-Unterstützung ist jetzt aktiv.
Verwenden der PDF-Konvertierung in PHP-Skripten
Damit die PDF-Konvertierung auch innerhalb der PHP-Umgebung funktioniert, muss im Skript vor dem Aufruf von Convert die PHP-Umgebungsvariable HOME nach folgendem Schema gesetzt werden:
putenv("HOME=<Serverpfad zu Kundenwebspace>">
Wie Sie den Serverfpfad zu Ihrem Webspace ermitteln, zeigen wir Ihnen hier.
Das folgende Beispiel zeigt, wie Sie die PDF-Konvertierung mit Ihren Skripten nutzen können:
<?php
putenv("HOME=/homepages/12/d123456789/htdocs");
$cmd = '/usr/bin/convert /homepages/12/d123456789/htdocs/document.pdf /homepages/12/d123456789/htdocs/document.jpg';
shell_exec($cmd);
?>