JavaScript无法在客户端文件系统上创建文件。但是我想知道,是否可能通过一些JSON从Web页面(div或iframe)中创建一个Powerpoint MIME类型,然后让UserAgent自行确定它是PowerPoint,并期望UserAgent给用户提供以幻灯片演示形式显示的选项?
注意:这里的想法是能够使用某些JSON制作PowerPoint演示文稿,而无需向服务器发送请求来创建PowerPoint文件。
JavaScript无法在客户端文件系统上创建文件。但是我想知道,是否可能通过一些JSON从Web页面(div或iframe)中创建一个Powerpoint MIME类型,然后让UserAgent自行确定它是PowerPoint,并期望UserAgent给用户提供以幻灯片演示形式显示的选项?
注意:这里的想法是能够使用某些JSON制作PowerPoint演示文稿,而无需向服务器发送请求来创建PowerPoint文件。
一个可以生成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。