Dieser Artikel behandelt den Export mit dhtmlxScheduler Version 4.1 und neuer. Für Versionen 4.0 oder älter lesen Sie bitte diese Anleitung.
Seit Version 4.1 bietet dhtmlxScheduler eine neue Möglichkeit, den Scheduler als PDF-Datei zu exportieren, indem ein Online-Exportdienst verwendet wird.
Der Dienst ist kostenlos nutzbar, aber unter der GPL-Lizenz generierte PDFs enthalten ein Wasserzeichen der Bibliothek. Beim Kauf einer Lizenz wird das Wasserzeichen während des aktiven Supportzeitraums entfernt (12 Monate für alle PRO-Lizenzen).
Es stehen mehrere Exportdienste zur Verfügung, die lokal auf Ihrem Rechner installiert werden können, um den Scheduler nach PDF zu exportieren.
Beachten Sie, dass Exportdienste unabhängig vom Scheduler-Paket sind. Weitere Informationen zu den Nutzungsbedingungen finden Sie im zugehörigen Artikel.
Der API-Endpunkt https://export.dhtmlx.com/scheduler verarbeitet Exportanfragen (exportToPDF, exportToPNG, usw.). Die maximal zulässige Anfragegröße beträgt 10 MB.
Um den Scheduler als PDF zu exportieren, gehen Sie wie folgt vor:
scheduler.plugins({
export_api: true
});
Für Scheduler-Versionen vor 7.0 binden Sie das Skript https://export.dhtmlx.com/scheduler/api.js auf Ihrer Seite ein, um den Online-Exportdienst zu aktivieren, zum Beispiel:
<script src="codebase/dhtmlxscheduler.js"></script>
<script src="https://export.dhtmlx.com/scheduler/api.js"></script>
<input value="Export to PDF" type="button" onclick='scheduler.exportToPDF()'>
Related sample: Export to PDF/PNG
Die exportToPDF()-Methode akzeptiert ein optionales Objekt als Parameter mit verschiedenen Eigenschaften:
name | (string) Dateiname für das exportierte PDF |
format | ('A0', 'A1', 'A2', 'A3', 'A4', 'A5') Papierformat für die PDF-Ausgabe |
orientation | ('portrait', 'landscape') Ausrichtung der PDF-Seiten |
zoom | (number) Zoomstufe für die PDF-Ausgabe |
header | (string) HTML-Inhalt, der als Kopfzeile im PDF enthalten sein soll |
footer | (string) HTML-Inhalt, der als Fußzeile im PDF enthalten sein soll |
server | (string) API-Endpunkt-URL für Exportanfragen. Nützlich bei Verwendung eines lokalen Exportdienstes. Standardmäßig https://export.dhtmlx.com/scheduler |
additional_settings | (object) Zusätzliche Exportoptionen, darunter:
|
Beispielaufruf von exportToPDF mit Optionen
scheduler.exportToPDF({
name:"myscheduler.pdf",
format:"A4",
orientation:"portrait",
zoom:1,
header:"<h1>My company</h1>",
footer:"<h4>Bottom line</h4>",
server:"https://myapp.com/myexport/scheduler"
});
Um einen eigenen Dateinamen für das exportierte PDF festzulegen, setzen Sie die name-Eigenschaft in den exportToPDF-Optionen:
scheduler.exportToPDF({
name:"my_beautiful_scheduler.pdf"});
Kopf- und Fußzeilen können dem exportierten PDF hinzugefügt werden, indem die Eigenschaften header und footer in den exportToPDF-Optionen verwendet werden:
In diesen Eigenschaften kann beliebiges HTML verwendet werden. Wenn Sie Bilder einfügen, achten Sie darauf, für das "src"-Attribut absolute URLs zu verwenden.
scheduler.exportToPDF({
name:"myscheduler.pdf",
header:"<h1>My company</h1>", footer:"<h4>Bottom line</h4>"});
Eigene Styles können angewendet werden, indem Sie ein Stylesheet mit Ihren CSS-Klassen einbinden:
scheduler.exportToPDF({
name:"calendar.pdf",
header:'<link rel="stylesheet" href="http://mysite.com/custom.css">' });
<style>
-Tags:scheduler.exportToPDF({
name:"calendar.pdf",
header:'<style>... custom css classes here ...</style>' });
Beachten Sie, dass dieser Ansatz mit global zugänglichen HTTP-URLs funktioniert. Für lokale oder Intranet-Umgebungen können Sie alle Styles direkt einbetten, zum Beispiel:
scheduler.exportToPDF({
header:"<style>.tier1{background: red; color:white;}</style>"
});
Beim Export des Schedulers nach PDF gibt es einige Einschränkungen bei HTML-Elementen aus Sicherheitsgründen.
Bestimmte Elemente wie <canvas>
, <svg>
, <script>
und Bilder mit Base64-codierten src-Attributen werden nicht vollständig unterstützt. Es gibt jedoch sichere Alternativen für den Export von Bildern im SVG- und Base64-Format:
<img>
-Tag mit einem src-Attribut, das auf eine SVG-Bild-URL verweist (funktioniert mit PNG- und JPG-Exporten, aber nicht mit Base64), zum Beispiel:<img src=https://www.svgrepo.com/download/530597/hat.svg>
url()
, die auf eine Bild-URL oder einen Base64-String verweist (funktioniert mit PNG, JPG und SVG):.red {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH1ggDCwMADQ4NnwAAAFVJREFUGJWNkMEJADEIBEcbSDkXUnfSgnBVeZ8LSAjiwjyEQXSFEIcHGP9oAi+H0Bymgx9MhxbFdZE2a0s9kTZdw01ZhhYkABSwgmf1Z6r1SNyfFf4BZ+ZUExcNUQUAAAAASUVORK5CYII=") 100%/contain no-repeat;
display: inline-block;
width: 32px;
height: 32px;
}
Wenn Sie ein eigenes Exportmodul haben und nicht unterstützte HTML-Elemente exportieren müssen, können Sie den Support kontaktieren, um Hinweise zur Anpassung Ihres Moduls zu erhalten, um die Einschränkungen zu umgehen. Beachten Sie, dass dies Ihren Server XSS-Sicherheitsrisiken aussetzen kann.
Nach oben