12

JavaScript 无法在客户端文件系统上本地创建文件。但是,我想知道,是否有可能以某种方式从一些 JSON 在网页(div 或 iframe)中创建 Powerpoint MIME,然后让 UserAgent 找出它是 Powerpoint,期望 UserAgent 会为用户提供选择将其显示为 PowerPoint 演示文稿?

注意:这里的想法是能够获取一些 JSON 并进行 powerpoint 演示,而无需向服务器发出请求以创建 Powerpoint 文件。

4

1 回答 1

8

一个可以生成 Powerpoint 二进制文件的 JavaScript 库是PptxGenJS

一般来说,您可以使用具有 Powerpoint MIME 类型的数据 URL 创建链接:

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

运行您的逻辑以创建二进制 Powerpoint 文件,然后对其进行 base64 编码(例如使用btoa),然后动态生成链接或重定向window.location到数据 URI。

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

我假设createPowerpointFromJSON的函数可能会调用 PptxGenJS API 或任何其他生成 Powerpoint 的 API。

于 2012-08-27T15:03:52.083 回答