Guarde la cadena base64 como PDF en el lado del cliente con JavaScript

Entonces, aquí está mi problema: tengo un archivo pdf como una cadena base64 que obtengo del servidor. Me gustaría usar esta cadena para mostrar el PDF directamente en el navegador o para darle una opción de "Guardar como ..." al hacer clic en un enlace. Aquí el código que estoy usando:

<!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>

Está funcionando bien con Chrome y Safari. Firefox reconoce el pdf pero no lo muestra, ya que FF requiere extensiones para estar presentes, pero el data-uri no tiene ninguna en este caso. La razón por la que insisto aquí es que si Chrome y Safari funcionan, entonces tiene que haber una solución para FF e IE.

Sé que hay algunas preguntas relevantes para esto pero no realmente la exacta y ahora también un poco antiguas. Sé que una solución alternativa sería tener el pdf generado en el lado del servidor, pero me gustaría generarlo en el lado del cliente.

Así que, por favor, gente inteligente, ¿es posible a través de algunos hacks o complementos de descarga JS adicionales?

Respuestas a la pregunta(3)

Su respuesta a la pregunta