dompdf: Erstellen Sie PDFs aus HTML mit Leichtigkeit
Was ist dompdf und wie funktioniert es?
Dompdf ist ein kostenloses Open-Source-PHP-Paket, mit dem du HTML-Dokumente in professionelle PDFs konvertieren kannst. Es nutzt die DOMDocument-Klasse von PHP, um den HTML-Inhalt in ein PDF-Dokument zu rendern.
Wie funktioniert dompdf?
Dompdf durchläuft folgende Schritte, um HTML in PDF zu konvertieren:
-
HTML-Parsing: Es parst das angegebene HTML-Dokument und erstellt ein Dokumentenobjektmodell (DOM).
-
CSS-Layout: Es wendet die im HTML-Dokument angegebenen CSS-Stile auf das DOM an und bestimmt das Layout des Dokuments.
-
Seitenumbruch: Es teilt das Dokument in Seiten auf der Grundlage der Seitenränder und der verfügbaren Höhe auf.
-
PDF-Generierung: Es rendert jede Seite als PDF und kombiniert sie zu einem einzigen PDF-Dokument.
Dompdf bietet außerdem eine Reihe von Konfigurationsoptionen, mit denen du die PDF-Ausgabe anpassen kannst, wie z. B.:
- Schriftarten einbetten
- Kopf- und Fußzeilen hinzufügen
- Seitenränder festlegen
- Sicherheitseinstellungen festlegen
Voraussetzungen für die Verwendung von dompdf
Damit du dompdf erfolgreich verwenden kannst, musst du einige Voraussetzungen erfüllen. Dies beinhaltet:
Ein Webserver
Dompdf ist eine serverseitige Bibliothek. Das bedeutet, dass du einen Webserver benötigst, um sie auszuführen. Dies kann ein lokaler Webserver wie XAMPP oder WAMP oder ein Hosting-Anbieter wie HostGator oder Bluehost sein.
PHP
Dompdf ist in PHP geschrieben, daher benötigst du PHP auf deinem Webserver. Die empfohlene PHP-Version für dompdf ist 5.6 oder höher. Du kannst die PHP-Version deines Servers mit dem Befehl php -v
überprüfen.
HTML und CSS
Dompdf konvertiert HTML-Dokumente in PDFs. Daher musst du über ein gültiges HTML-Dokument verfügen, das du in ein PDF konvertieren möchtest. Darüber hinaus kannst du mithilfe von CSS das Erscheinungsbild des PDFs anpassen.
Optionale Voraussetzungen
Zusätzlich zu den oben genannten Voraussetzungen können je nach deinen spezifischen Anforderungen zusätzliche Elemente erforderlich sein:
- Webbrowser: Du benötigst einen Webbrowser, um die generierten PDFs anzuzeigen.
- PDF-Reader: Du benötigst einen PDF-Reader wie Adobe Reader oder Foxit Reader, um die PDFs zu öffnen und zu lesen.
- Bildbearbeitungssoftware: Wenn dein HTML-Dokument Bilder enthält, benötigst du möglicherweise eine Bildbearbeitungssoftware wie Photoshop oder GIMP, um die Bilder für die Verwendung in dompdf zu optimieren.
Installieren und Einrichten von dompdf
Um mit dompdf HTML in PDF konvertieren zu können, musst du es zunächst auf deinem System installieren und einrichten.
Installation
-
Kompatibilität prüfen: Stelle sicher, dass dein Server die folgenden Anforderungen erfüllt:
- PHP >= 7.2
- Ein Webserver wie Apache oder Nginx
- Die PHP-Erweiterung
gd
(für Bildverarbeitung)
-
Über Composer installieren: Führe in deinem Projektverzeichnis den folgenden Befehl aus:
composer require setasign/dompdf
-
Manuelle Installation: Alternativ kannst du die dompdf-Dateien manuell von GitHub herunterladen und in dein Projektverzeichnis extrahieren.
Einrichtung
-
Autoloader einfügen: Füge deinem Projektverzeichnis die folgende Zeile hinzu, um den Autoloader von Composer zu verwenden:
require_once __DIR__ . '/vendor/autoload.php';
-
命名skonvention: Erstelle ein Verzeichnis mit dem Namen
dompdf
im gleichen Verzeichnis wie die Autoloader-Datei. -
Konfigurationsdatei: Erstelle eine Konfigurationsdatei namens
dompdf_config.inc.php
im Verzeichnisdompdf
. Füge den folgenden Code hinzu, um deine Konfiguration anzupassen:<?php define("DOMPDF_ENABLE_AUTOLOAD", false); define("DOMPDF_ENABLE_REMOTE", true); ?>
-
Dompdf einbinden: Füge den folgenden Code zu deinen PHP-Skripten hinzu, um dompdf zu verwenden:
use Dompdf\Dompdf; use Dompdf\Options;
Konvertieren von HTML in PDF mit dompdf
Nachdem du dompdf installiert und eingerichtet hast, kannst du damit beginnen, HTML-Dateien in PDF-Dokumente zu konvertieren. Der Konvertierungsprozess ist einfach:
Erstelle eine PHP-Datei
Erstelle eine neue PHP-Datei und füge den folgenden Code ein:
<?php
require_once 'dompdf/autoload.inc.php';
$dompdf = new Dompdf();
$html = file_get_contents('beispiel.html');
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$pdf = $dompdf->output();
file_put_contents('beispiel.pdf', $pdf);
?>
In diesem Beispiel wird eine HTML-Datei mit dem Namen beispiel.html
in eine PDF-Datei mit dem Namen beispiel.pdf
konvertiert.
Lade die HTML-Datei
Verwende die file_get_contents()
-Funktion, um den Inhalt der HTML-Datei in eine Variable zu laden.
Erstelle das PDF-Dokument
Erstelle eine neue Dompdf
-Instanz und lade die HTML-Daten mit der loadHtml()
-Methode. Anschließend kannst du die Papiereinstellungen mit der setPaper()
-Methode festlegen, z. B. A4
für den Papiertyp und landscape
für die Ausrichtung.
Rendering und Ausgabe
Rufe die render()
-Methode auf, um das PDF-Dokument zu rendern, und verwende die output()
-Methode, um die PDF-Datei als Binärdaten abzurufen.
Speichern der PDF-Datei
Speichere die PDF-Datei in einem gewünschten Verzeichnis, indem du die file_put_contents()
-Funktion verwendest, wie im obigen Beispiel gezeigt.
Anpassen und Erweitern der PDF-Ausgabe
Nachdem du HTML mit dompdf erfolgreich in PDF konvertiert hast, kannst du deine PDF-Ausgabe anpassen und erweitern, um sie an deine spezifischen Anforderungen anzupassen.
Papierformate und Ausrichtung ändern
Du kannst das Papierformat und die Ausrichtung deiner PDF-Dokumente nach deinen Wünschen anpassen. Beispielsweise kannst du das Format auf A4, Letter oder einen benutzerdefinierten Wert festlegen. Außerdem kannst du die Ausrichtung auf Hochformat oder Querformat ändern.
Seitenränder und Kopf-/Fußzeilen hinzufügen
Passe die Seitenränder an, um den verfügbaren Platz zu optimieren. Du kannst auch Kopf- und Fußzeilen hinzufügen, um Informationen wie Titel, Seitenzahlen und Datum auf jeder Seite anzuzeigen.
Schriftarten und Farben anpassen
Wähle aus einer Vielzahl von Schriftarten, um deinen PDFs ein professionelleres Aussehen zu verleihen. Du kannst auch die Schriftfarbe, -größe und -ausrichtung anpassen, um das Dokument optisch ansprechender zu gestalten.
Bilder und Grafiken einfügen
Binde Bilder und Grafiken in deine PDFs ein, um Informationen zu visualisieren und das Dokument ansprechender zu gestalten. Du kannst die Größe, Position und Ausrichtung der Bilder anpassen.
Tabellen und Listen formatieren
Formatiere Tabellen und Listen, um Daten übersichtlich zu präsentieren. Passe die Zellgrenzen, Füllfarben und Schriftarten an, um ein visuell ansprechendes Dokument zu erstellen.
Benutzerdefinierte CSS-Stile verwenden
Erweitere die Anpassungsmöglichkeiten, indem du benutzerdefinierte CSS-Stile verwendest. Verwende CSS, um das Aussehen von Text, Bildern, Tabellen und anderen Elementen zu steuern und ein einheitliches und professionelles Dokument zu erstellen.
Erweiterungen für zusätzliche Funktionen
dompdf bietet Erweiterungen, die zusätzliche Funktionen wie Wasserzeichen, Verschlüsselung und benutzerdefinierte Funktionen hinzufügen. Sie können diese Erweiterungen verwenden, um die Funktionalität deiner PDF-Dokumente zu erweitern und sie für spezifische Anwendungen anzupassen.
Durch die Anpassung und Erweiterung der PDF-Ausgabe kannst du professionelle und ansprechende Dokumente erstellen, die perfekt für deine Zielgruppe geeignet sind.
Fehlerbehebung bei Problemen mit dompdf
Leere oder beschädigte PDF-Ausgaben
- Überprüfe, ob deine HTML-Datei gültiger Markup-Code ist. Ungültiger Code kann zu Problemen bei der Konvertierung führen.
- Stelle sicher, dass du die richtige Version von dompdf für deine PHP-Version verwendest.
- Überprüfe deine PHP-Fehlerprotokolle auf Fehlermeldungen. Diese können dir Hinweise auf die Ursache des Problems geben.
Langsame Konvertierungszeiten
- Reduziere die Komplexität deiner HTML-Datei. Zu viel JavaScript, CSS oder Bilder können die Konvertierung verlangsamen.
- Erhöhe den Arbeitsspeicher, der dompdf zugewiesen ist. Dies kann über die
Dompdf::$memoryLimit
-Eigenschaft erreicht werden. - Erwäge die Verwendung eines Cache-Systems wie PHP OPcache, um die wiederholte Konvertierung derselben HTML-Dateien zu beschleunigen.
Fehlende Schriftarten oder Formatierungen
- Stelle sicher, dass die von dir verwendeten Schriftarten auf deinem System installiert sind.
- Wenn du benutzerdefinierte Schriftarten verwendest, musst du diese in dompdf einbinden. Dies kann über die
Dompdf::$defaultFont
- oderDompdf::$addFontFile()
-Methoden geschehen. - Überprüfe deine CSS-Dateien, um sicherzustellen, dass sie mit dompdf kompatibel sind. Dompdf unterstützt nicht alle CSS-Eigenschaften.
Andere Fehler
- Wenn du auf andere Probleme stößt, kannst du die dompdf-Dokumentation konsultieren oder in den Dompdf-Foren nach Hilfe fragen.
Neue Posts
World of Warcraft auf Linux spielen: Eine guide für Abenteurer
Einführung in World of Warcraft
Node.js NVM: Antworten auf die häufigsten Fragen
Entwicklung
Professionelle Gmail-HTML-Signaturen: Erstellen, Gestalten und Nutzen
Marketingstrategien
Die vollständige Anleitung zu poczta wp: Alles, was Sie wissen müssen
Sicherheit und Datenschutz
HTML-Content: Der ultimative Leitfaden zur Erstellung ansprechender Webseiten
SEO-Optimierung
Das HTML-Title-Attribut: Ein Leitfaden zur Optimierung von Titeln für SEO und Benutzerfreundlichkeit
Online-Marketing
HTTP-Statuscodes: Ihre Bedeutung und Verwendung im Web
Einführung in HTTP-Statuscodes
Besucherzähler für Websites: Tracking Ihres Website-Traffics für Erfolg
SEO-Optimierung
Beschleunigen Sie die Dateneingabe mit HTML Datalist
Webentwicklung
HTML in PUG konvertieren: Einfach und schnell gemacht
Webentwicklung
Beliebte Posts
SteamCMD: Der umfassende Leitfaden zur Verwaltung von Steam-Servern
Sicherheitsrichtlinien
POST-Anfragen: Erstellen, Senden und Empfangen von Daten im Web
Webentwicklung
LaTeX: Das mächtige Werkzeug für hochwertiges Dokumentenschreiben
Dokumentenerstellung
Die vollständige Anleitung zu poczta wp: Alles, was Sie wissen müssen
Sicherheit und Datenschutz
Wiederherstellung beschädigter Linux-Dateisysteme mit fsck: Ein umfassender Leitfaden
Fehlerbehebung
Gigacube Admin: Zugang zu den erweiterten Einstellungen Ihres Routers
Fehlerbehebung
Linux Mint Themes: Personalisieren Sie Ihren Desktop
Open Source
TCPdump-Beispiele: Paketakquise und Netzwerkdiagnose
Fehlerbehebung
Mounten von ISO-Images unter Linux: Eine Schritt-für-Schritt-Anleitung
Anleitungen
Linux Open File: Anleitung zum Öffnen, Bearbeiten und Löschen von Dateien aus dem Terminal
Open Source