Inhaltsverzeichnis
-
Einführung
-
Übersicht über das PDF-Generierungssystem von Dolibarr
-
Standarddokumentmodelle in Dolibarr
-
Auffinden und Verstehen von PDF-Vorlagendateien
-
So funktioniert die PDF-Generierung in Dolibarr
-
Auswählen eines Standard-PDF-Modells
-
Hinzufügen Ihres Firmenlogos und Brandings
-
Anpassen von Kopf- und Fußzeilen
-
Bearbeiten des Layouts von PDF-Elementen
-
Anpassen von Schriftarten, -größen und -farben
-
Tabellenstrukturen für Produkte und Services ändern
-
Anzeigen oder Ausblenden bestimmter Felder
-
Hinzufügen benutzerdefinierter Felder zu PDF-Vorlagen
-
Überlegungen zur Lokalisierung und Sprache
-
PDF-Vorlagen und Modulintegration
-
Erstellen eines neuen PDF-Modells von Grund auf
-
Best Practices für Upgrades ohne Verlust benutzerdefinierter PDFs
-
Testen und Debuggen der PDF-Ausgabe
-
Leistungsaspekte bei großen Dokumenten
-
Fazit
1. Einleitung
Der PDF-Dokumentengenerator von Dolibarr ist eine seiner wichtigsten Funktionen. Ob Sie Rechnungen, Angebote, Bestellungen oder Lieferscheine drucken – diese Dokumente dienen oft der offiziellen Kommunikation mit Kunden, Lieferanten und Partnern. Diese Anleitung beschreibt, wie Sie die PDF-Dokumente von Dolibarr an Ihre Marke, Geschäftslogik und Layoutpräferenzen anpassen.
2. Übersicht über das PDF-Generierungssystem von Dolibarr
Dolibarr verwendet PHP-basierte PDF-Vorlagen zur Dokumenterstellung. Diese Vorlagen sind PHP-Dateien, die je nach Dokumenttyp (z. B. Rechnungen, Bestellungen) in bestimmten Verzeichnissen abgelegt sind. Dolibarr verwendet TCPDF, eine weit verbreitete Open-Source-PHP-Bibliothek, zur Darstellung dieser PDFs.
Jedes Modul (wie Rechnungen oder Angebote) verfügt über seine eigene PDF-Generierungslogik und Vorlagendateien.
3. Standarddokumentmodelle in Dolibarr
Für jeden Dokumenttyp gibt es mehrere Standardmodelle:
-
Rechnungen: crabe, azur, fraise
-
Vorschläge: Elyse, Azur
-
Bestellungen: Einstein, Caracole
-
Sendungen: Rouget, Expedition_lettre
Diese Modelle können aus der Konfiguration jedes Moduls ausgewählt werden und dienen als Ausgangspunkt für die individuelle Anpassung.
4. PDF-Vorlagendateien finden und verstehen
Vorlagendateien werden gespeichert in:
/htdocs/core/modules/<module>/doc/
Rechnungsvorlagen finden sich beispielsweise in:
/htdocs/core/modules/facture/doc/
Jedes Modell entspricht einem .php Datei, zB pdf_crabe.modules.php. Diese Dateien definieren das Layout, die Kopf-/Fußzeilenlogik und die Art und Weise, wie Daten gerendert werden.
5. So funktioniert die PDF-Generierung in Dolibarr
Beim Generieren einer PDF-Datei:
-
Dolibarr lädt die ausgewählte Vorlagenklasse
-
Ruft Geschäftsdaten ab (Rechnung, Angebot usw.)
-
Verwendet TCPDF, um Inhalte zeilenweise zu schreiben
-
Speichert die Ausgabe im
/documents/Flyer
Der gesamte Vorgang wird durch Klicken auf das PDF erzeugen Schaltfläche innerhalb eines Dokuments.
6. Auswählen eines Standard-PDF-Modells
-
Gehe zu Setup > Module > [Modulname]
-
Scrollen Sie zum PDF-Vorlagen Abschnitt
-
Wählen Sie das bevorzugte Modell als Standard
-
Optional andere deaktivieren, um Benutzer am Wechseln zu hindern
Dadurch wird das Layout festgelegt, das für alle generierten Dokumente dieses Typs verwendet wird.
7. Hinzufügen Ihres Firmenlogos und Brandings
Logos werden verwaltet von: Setup > Firma/Organisation
So fügen Sie ein benutzerdefiniertes Logo hinzu:
-
Laden Sie ein Logobild hoch (vorzugsweise JPEG oder PNG)
-
Stellen Sie sicher, dass es in
/logos/ -
Vorlagen wie
pdf_crabewird es automatisch einbetten
Für mehr Kontrolle bearbeiten Sie die write_file() Methode in der Vorlagendatei, um die Position oder Größe des Logos zu ändern.
8. Kopf- und Fußzeilen anpassen
Header enthalten normalerweise:
-
Firmenname
-
Adresse
-
Dokumenttitel
-
Kennziffer
Fußzeilen können enthalten:
-
Seitenzahlen
-
Rechtliche Hinweise
-
AGB
Diese können in der Vorlage angepasst werden. pdf->SetHeader() und pdf->SetFooter() Logik oder direkt innerhalb write_file().
9. Bearbeiten des Layouts von PDF-Elementen
Sie können Folgendes anpassen:
-
Ränder und Polsterungen
-
Schriftarten für Titel, Tabellen und Notizen
-
Abstand zwischen Abschnitten
-
Bildplatzierungen
Verwenden Sie TCPDF-Methoden wie SetXY(), MultiCell() und Line() um Inhalte zu positionieren und zu formatieren.
10. Anpassen von Schriftarten, -größen und -farben
Dolibarr verwendet die Style-Engine von TCPDF. Beispiele:
$pdf->SetFont('dejavusans', 'B', 10);
$pdf->SetTextColor(0, 0, 0);
$pdf->SetFillColor(230, 230, 230);
Sie können die Schriftart (DejaVu, Courier, Helvetica) wechseln und nach Bedarf Fettdruck/Kursivschrift/Unterstrichen anwenden.
11. Tabellenstrukturen für Produkte und Dienstleistungen ändern
Die Hauptprodukttabelle umfasst:
-
Beschreibung
-
Anzahl
-
Einzelpreis
-
Gesamt
Sie können:
-
Spaltenreihenfolge ändern
-
Spalten hinzufügen/entfernen (z. B. SKU, Lieferanteninformationen)
-
Währungsanzeige formatieren
Suchen Sie die Schleife, die verarbeitet $object->lines[] in der Vorlagendatei und passen Sie sie entsprechend an.
12. Anzeigen oder Ausblenden bestimmter Felder
So blenden Sie Felder aus bzw. zeigen sie an:
-
Verwenden Sie Konfigurationskonstanten (eingestellt über Setup > Anderes Setup)
-
Fügen Sie bedingte Logik in PHP hinzu, zB:
if (!empty($line->ref)) {
$pdf->MultiCell(...);
}
Sie können auch Benutzerberechtigungen oder Dokumenttypen überprüfen, um Inhalte bedingt wiederzugeben.
13. Hinzufügen benutzerdefinierter Felder zu PDF-Vorlagen
Wenn Sie zusätzliche Felder hinzugefügt haben:
-
Stellen Sie sicher, dass sie aktiviert und in der Benutzeroberfläche ausgefüllt sind
-
Zugriff darauf über
$object->array_options['options_fieldname'] -
Formatieren und einfügen mit
MultiCell()oder andere TCPDF-Funktionen
Benutzerdefinierte Felder funktionieren für Drittanbieter, Produkte und die meisten Dokumentzeilen.
14. Lokalisierung und Sprachüberlegungen
PDFs berücksichtigen die Spracheinstellungen von Dolibarr. Bei der Erstellung mehrsprachiger Dokumente:
-
Sprache einstellen in
$outputlangsvor dem Schreiben von Inhalten -
Nutzen Sie
load_langs('bills')oder ähnlich
Stellen Sie die UTF-8-Kodierung und Schriftarten sicher, die Sonderzeichen unterstützen.
15. PDF-Vorlagen und Modulintegration
Einige Module wie Verträge oder Projekte verfügen über eigene Vorlagen. Bei der Integration von Daten aus anderen Modulen:
-
Erweitern Sie die Vorlagenlogik, um zusätzliche Felder abzufragen
-
Verwenden Sie bei Bedarf Hooks oder überschreiben Sie Kernvorlagen
Dokumentieren Sie stets die Abhängigkeiten zwischen Modulen.
16. Erstellen eines neuen PDF-Modells von Grund auf
-
Kopieren Sie ein vorhandenes Modell (z. B.
pdf_crabe.modules.php) -
Benennen Sie die Datei und Klasse um (z. B.
pdf_mycustom.modules.phpundpdf_mycustom) -
Registrieren Sie es, indem Sie die Moduleinstellungsseite aktualisieren
-
Testen und iterieren
Bewahren Sie Ihre benutzerdefinierten Vorlagen draußen auf /core/ wenn möglich, um Überschreibungen während Upgrades zu vermeiden.
17. Best Practices für Upgrades ohne Verlust benutzerdefinierter PDFs
-
Ändern Sie niemals integrierte Vorlagen direkt
-
Speichern Sie benutzerdefinierte Dateien in einem
/custom/oder Backup-Verzeichnis -
Verwenden Sie die Versionskontrolle (Git), um Änderungen zu verfolgen
-
Testen Sie nach jedem Dolibarr-Upgrade
Dokumentieren Sie außerdem Ihre Anpassungen, damit das Team darüber informiert ist.
18. Testen und Debuggen der PDF-Ausgabe
So debuggen Sie:
-
Nutzen Sie
print_r()orvar_dump()(Protokoll in Datei, nicht auf dem Bildschirm) -
Einblick in das
$objectStruktur -
Überprüfen Sie die TCPDF-Ausgabe auf Layoutfehler
Verwenden Sie Sandbox-Rechnungen für sichere Tests.
19. Leistungsüberlegungen bei großen Dokumenten
Für Rechnungen mit vielen Zeilen:
-
Minimieren Sie die Verwendung von Bildern und Schriftarten
-
Richtig paginieren
-
Vermeiden Sie unnötige Schleifen
-
Nutzen Sie
SetAutoPageBreak(true)um abgeschnittene Inhalte zu verhindern
Durch Leistungsoptimierung können Timeouts oder Speicherfehler vermieden werden.
20. Fazit
Durch die Anpassung der PDF-Dokumente von Dolibarr können Unternehmen professionelle, markengerechte und funktionale Ergebnisse erzielen. Von kleinen Layoutanpassungen bis hin zur Erstellung völlig neuer Vorlagen – das Verständnis der Funktionsweise des PDF-Systems gibt Ihnen die volle Kontrolle über die Dokumenterstellung.
