Salve a string base64 como PDF no lado do cliente com JavaScript

Então, aqui está o meu problema: eu tenho um arquivo pdf como uma String base64 que estou recebendo do servidor. Eu gostaria de usar essa string para exibir o PDF diretamente no navegador ou dar a opção "Salvar como ..." ao clicar em um link. Aqui o código que estou 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 bem com o Chrome e o Safari. O Firefox reconhece o pdf, mas não o exibe, já que o FF requer que as extensões estejam presentes, mas o data-uri não tem nenhum neste caso. A razão pela qual eu insisto aqui, se cromo e safári fazem isso funcionar, então tem que haver uma solução para FF e IE

Eu sei que há algumas questões relevantes para isso, mas não exatamente o exato e agora também um pouco antigo. Eu sei que uma solução seria ter o pdf gerado no lado do servidor, mas eu gostaria de gerá-lo no lado do cliente.

Então, por favor pessoal inteligente, é possível através de alguns hacks ou plugins de download JS adicionais?

questionAnswers(3)

yourAnswerToTheQuestion