Speichern Sie den base64-String als PDF auf der Clientseite mit JavaScript

Also hier mein Problem: Ich habe eine pdf-Datei als base64-Zeichenfolge, die ich vom Server erhalte. Ich möchte diese Zeichenfolge verwenden, um das PDF entweder direkt im Browser anzuzeigen oder ihm beim Klicken auf einen Link die Option "Speichern unter ..." zu geben. Hier der Code, den ich benutze:

<!doctype>
<html>
<head>
   <title>jsPDF</title>
   <script type="text/javascript" src="../libs/base64.js"></script>
   <script type="text/javascript" src="../libs/sprintf.js"></script>
   <script type="text/javascript" src="../jspdf.js"></script>

       <script type="text/javascript">

        function demo1() {
            jsPDF.init();
            jsPDF.addPage();
            jsPDF.text(20, 20, 'Hello world!');
            jsPDF.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');

            // Making Data URI
            var out = jsPDF.output();
            var url = 'data:application/pdf;base64,' + Base64.encode(out);

            document.location.href = url;
         }
    </script>
</head>
<body>

<a href="javascript:demo1()">Run Code</a>

</body>
</html>

Es funktioniert gut mit Chrome und Safari. Firefox erkennt die PDF-Datei, zeigt sie jedoch nicht als FF an. In diesem Fall müssen Erweiterungen vorhanden sein, aber die Daten-URI hat keine. Der Grund, warum ich hier darauf bestehe: Wenn Chrome und Safari funktionieren, muss es eine Lösung für FF und IE geben

Ich weiß, dass es ein paar relevante Fragen gibt, aber nicht wirklich die genauen und jetzt auch ein bisschen alte. Ich weiß, dass eine Problemumgehung darin besteht, das PDF auf der Serverseite zu generieren, aber ich möchte es auf der Clientseite generieren.

Also bitte intelligente Leute, ist es durch einige Hacks oder zusätzliche JS-Download-Plugins möglich?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage