Создание Powerpoint с использованием JavaScript

JavaScript не может создавать файлы локально в файловой системе клиентов. Тем не менее, мне интересно, если можно каким-то образом создать Powerpoint MIME на веб-странице (div или iframe) из некоторого JSON, а затем позволить UserAgent выяснить, что это Powerpoint в ожидании того, что UserAgent предложит пользователю выбор для отображения его в качестве презентации PowerPoint?

Примечание. Идея здесь состоит в том, чтобы иметь возможность взять некоторый JSON и сделать презентацию PowerPoint без необходимости делать запрос на сервер для создания файла Powerpoint.

Ответ 1

Вы можете создать ссылку с URL-адресом данных с типом Powerpoint MIME:

 data:ms-powerpoint;base64,aGVsbG8gd... // base64-encoded file

Запустите свою логику, чтобы создать двоичный файл Powerpoint, затем base64-encode it (например, с btoa), а затем динамически сгенерировать ссылку или перенаправить window.location в URI данных.

var binaryPPFile = createPowerpointFromJSON(sourceJSON);
window.location = "data:ms-powerpoint;base64," + btoa(binaryPPFile);