Dieser Artikel behandelt das Exportieren mit dhtmlxScheduler 4.0 und früheren Versionen. Für Versionen ab 4.1 finden Sie weitere Informationen hier.
Ab Version 4.1 hat dhtmlxScheduler eine neue Methode zum Exportieren des Schedulers als PDF eingeführt — einen Online-Exportdienst.
Hier finden Sie die verfügbaren Pakete für verschiedene Plattformen:
Related sample: Export to PDF [Legacy]
Um den PDF-Export auf der Scheduler-Seite zu aktivieren, müssen Sie die entsprechende Erweiterung aktivieren:
scheduler.plugins({
pdf: true
});
Um Schedulerdaten als PDF zu exportieren, fügen Sie einen Button hinzu, der die toPDF()-Methode aufruft. Diese Methode benötigt die URL zum zuvor installierten Skript:
<input type="button" name="save" value="save"
onclick="scheduler.toPDF('path/to/folder/generate.php')"
style="right:300px; width:80px; position:absolute; top:1px;">
Für die Konfiguration der Exportoptionen sind Anpassungen auf Client- und Serverseite erforderlich.
Die toPDF()-Methode startet den Exportprozess:
scheduler.toPDF(path, color, header, footer);
Parameter:
Zum Beispiel ruft folgende Zeile in Ihrer HTML-Seite toPDF() mit einem Graustufen-Farbschema auf:
scheduler.toPDF('path/to/folder/generate.php','gray');
Die oben referenzierte generate.php-Datei verarbeitet die Exportoptionen.
Ein minimales Beispiel sieht so aus:
$scPDF = new schedulerPDF();
$scPDF->printScheduler($xml);
Vor dem Aufruf von printScheduler() können verschiedene benutzerdefinierte Einstellungen vorgenommen werden:
Elementgrößen:
// Höhe des Tagescontainer-Headers in der Monatsansicht
$scPDF->monthDayHeaderHeight = 6;
// Höhe des Monats-Headers
$scPDF->monthHeaderHeight = 8;
// Höhe des Monatsnamens-Containers in der Jahresansicht
$scPDF->yearMonthHeaderHeight = 8;
// Zeilenhöhe in der Agenda-Ansicht
$scPDF->agendaRowHeight = 6;
// Höhe des Headers in Tages- und Wochenansichten
$scPDF->dayTopHeight = 6;
// Breite der linken Skala in Tages- und Wochenansichten
$scPDF->dayLeftWidth = 16;
Schriftgröße:
// Einstellungen für Schriftgrößen
$scPDF->monthHeaderFontSize = 9;
$scPDF->monthDayHeaderFontSize = 8;
$scPDF->monthEventFontSize = 7;
$scPDF->yearHeaderFontSize = 8;
$scPDF->yearFontSize = 8;
$scPDF->agendaFontSize = 8;
$scPDF->dayHeaderFontSize = 7;
$scPDF->dayScaleFontSize = 8;
$scPDF->dayEventHeaderFontSize = 7;
$scPDF->dayEventBodyFontSize = 7;
$scPDF->todayFontSize = 11;
Benutzerdefinierte Farben (verwenden Sie 'custom' als Farbzuordnung auf der Clientseite):
$scPDF->lineColor = '586A7E';
$scPDF->bgColor = 'C2D5FC';
$scPDF->dayHeaderColor = 'EBEFF4';
$scPDF->dayBodyColor = 'FFFFFF';
$scPDF->dayHeaderColorInactive = 'E2E3E6';
$scPDF->dayBodyColorInactive = 'ECECEC';
$scPDF->headerTextColor = '2F3A48';
$scPDF->textColor = '2F3A48';
$scPDF->eventTextColor = '887A2E';
$scPDF->eventBorderColor = 'B7A543';
$scPDF->eventColor = 'FFE763';
$scPDF->todayTextColor = '000000';
$scPDF->scaleColorOne = 'FCFEFC';
$scPDF->scaleColorTwo = 'DCE6F4';
$scPDF->yearDayColor = 'EBEFF4';
$scPDF->yearDayColorInactive = 'd6d6d6';
Kopf- und Fußzeilen:
// Höhe des Headers
$scPDF->headerImgHeight = 40;
// Höhe der Fußzeile
$scPDF->footerImgHeight = 40;
// Pfad zum Header-Bild
$scPDF->headerImg = './header.png';
// Pfad zum Footer-Bild
$scPDF->footerImg = './footer.png';
Benutzerdefinierte Kopf- und Fußzeilen können auf jeder Seite hinzugefügt werden, indem Sie diese Schritte befolgen:
scheduler.toPDF(url, "color", true, true);
Dadurch werden "header.png" und "footer.png" als Kopf- bzw. Fußzeile auf jeder Seite des erzeugten PDFs eingefügt.
Falls die PDF-Erstellung fehlschlägt, wird eine Datei namens "error_report_xxxx.xml" erstellt. Bitte fügen Sie diese Datei bei der Fehlerberichterstattung bei.
Wenn die Ausgabe nicht fehlschlägt, aber Probleme zeigt, können Sie das Debugging in generate.php aktivieren, indem Sie:
$debug = false;
zu
$debug = true;
ändern.
Dadurch wird eine Datei "debug_xxxxx.xml" erzeugt, die Sie bei der Fehlerberichterstattung mitsenden sollten.
Nach oben