使用JavaScript创建Powerpoint演示文稿

14

JavaScript无法在客户端文件系统上创建文件。但是我想知道,是否可能通过一些JSON从Web页面(div或iframe)中创建一个Powerpoint MIME类型,然后让UserAgent自行确定它是PowerPoint,并期望UserAgent给用户提供以幻灯片演示形式显示的选项?

注意:这里的想法是能够使用某些JSON制作PowerPoint演示文稿,而无需向服务器发送请求来创建PowerPoint文件。


也许像http://code.google.com/p/jspdf/那样。也许你可以采用相同的方法。 - Prusse
1个回答

9

一个可以生成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。


1
谢谢!有什么提示可以告诉我如何创建一个从JSON生成Powerpoint的函数吗? - dublintech
2
@dublintech 很抱歉,我没有相关的知识。我想Powerpoint标准非常庞大和复杂,可能没有JavaScript库用于Powerpoint文档创建。如果您愿意使用PDF而不是Powerpoint,jspdf是一个用于在JS中创建PDF文档的库。 - apsillers
是的,这似乎是一个共识。所以我认为没有人会超过你的答案,所以我会将其标记为已回答。谢谢。 - dublintech
这肯定可以创建 ppt 文件,但如果我已经有一个以 XML 格式保存的 ppt 文件,我能否提示用户下载该 xml 并设置 mime 类型为 power point,以便 power point 可以打开它最初保存的 XML? - climboid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接