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