Liste der Anhänge anzeigen (Anzahl: 1)
PDF mit JavaScript erstellen: Problem mit IE[erledigt]
Hallo Leute,
vorab - es geht nicht um Contao.
Ich habe ein JavaScript welches mir ein PDF erstellt. Dieses möchte ich dann mit dem OS-Eigenen Safe-Dialog speichern oder anzeigen lassen.
In allen Browsern - AUßER IE - funktioniert das auch sehr gut.
Leider wird im IE dieser Dialog nicht angezeigt.
Hier hatte ich mit PHP schon mal zum Thema angefangen; hatte mich dann aber für JS entschieden.
Ich benutze die JS-Lib: jsPdf
Screenshot FireFox(alles in Ordnung):
Anhang 22402
Hier bekommt der entsprechende Button seinen Trigger:
Code:
/**
* Reagiert auf den Button PDF erstellen und ruft die erwartete Funktion pdfErstellen() auf.
* @returns {undefined}
*/
$(function () {
$("#zert_btnPdfErstellen").on("click", pdfErstellen);
});
Diese Funktion erstellt das PDF:
Code:
/**
* Diese Funktion holt sich die vom Benutzer im Registrierungsformular eingegebenen, personenbezogenen Daten
* und schreibt diese in eine *.pdf Datei.
* Der Name der *.pdf Datei wird in der Variablen docName so zusammengesetzt, dass der Name und das Jahr der Durchführung im Dateinamen erscheinen.
* @returns {undefined}
*/
function pdfErstellen() {
//Benutzerdaten abholen - diese kommen aus der Datei schnittstelle_PHP_JS.php
let tmpDatenContainer = hohleBenutzerDaten();
//Dateiname zusammensetzen
let docName = 'Sicherheitsbelehrung' + new Date().getFullYear() + '_' + tmpDatenContainer['nachname'] + '.pdf';
//Neues jsPDF Dokument erstellen
let doc = new jsPDF();
// Bild zum Dokument hinzufügen. Das kommt aus der Datei mat-scripts-pdf-image.js.
doc.addImage(getImg(), 'JPEG', 0, 0, 210, 297);
//Texte und personenbezogene Daten hinzufügen
doc.setFontSize(16);
doc.text(35, 130, 'Name:');
doc.text(90, 130, tmpDatenContainer["nachname"]);
doc.text(35, 150, 'Vorname:');
doc.text(90, 150, tmpDatenContainer["vorname"]);
doc.setFontSize(16);
doc.text(40, 233, tmpDatenContainer["datum"]);
//Speicherdialog aufrufen
doc.save(docName);
}
Hat hier ggf. jemand eine Idee, wie ich dieses PDF im IE auch herunterladen/anzeigen lassen kann?
Über einen Tipp würde ich mich freuen.
Gruß
tschero
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt hat es geklappt.
Es lag nur an der jsPdf.js Bibliothek.
Falls das noch mal jemand benötigt:
Hier eine gute Beschreibung wie man PDF Dateien mit jsPdf erstellt:
https://www.mediaevent.de/pdf-on-the...rzeugen-jspdf/
Weitere Quellen:
https://rawgit.com/MrRio/jsPDF/master/docs/index.html
https://mrrio.github.io/
https://github.com/MrRio/jsPDF
Mit dieser Version von jsPdf (hier als *.txt Datei) klappt es auch im IE:
Anhang 22408
Besten Dank noch mal an alle für die Hilfe.
Gruß
tschero