Итак, вот моя проблема :У меня есть файл PDF в виде строки base64, которую я получаю с сервера. Я хотел бы использовать эту строку, чтобы либо отображать PDF-файл непосредственно в браузере, либо дать ему возможность «Сохранить как...» при нажатии на ссылку. Вот код, который я использую:
<!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>
Он отлично работает с Chrome и Safari. Firefox распознает PDF-файл, но не отображает его, поскольку FF требует присутствия расширений, но URI данных -в этом случае их не имеет. Причина, по которой я здесь настаиваю, заключается в том, что если хром и сафари заработают, то должно быть решение для FF и IE
. Я знаю, что есть несколько соответствующих вопросов по этому поводу, но не совсем точный, а теперь еще и немного старые. Я знаю, что обходным путем было бы создание PDF-файла на стороне сервера, но я хотел бы создать его на стороне клиента.
Итак, пожалуйста, умные люди, возможно ли это с помощью некоторых хаков или дополнительных плагинов для загрузки JS?