我想直接从Word在线本地文件系统加载/保存文件(不上传到onedrive)。由于这不是默认功能的一部分,我正在尝试确定是否可以使用外接程序。
加载部分:
Document对象允许访问body
, load
和save
方法,但是文档不清楚(对我来说)加载:Fills the proxy object created in JavaScript layer with property and object values specified in the parameter.
似乎有可用的选项,如insertFileFromBase64
和insertOoxml
,但不清楚这些是否只在(Windows)桌面版本或也在在线版本。参见这个问题
保存部分:
这似乎是更容易的一点,因为已经有一个Download
功能来获取文档的副本。
不寻找完整的解决方案,只是一个"这是可能的",也许一些指针的方法使用。
可能我正在用我的答案做很多假设,如果我错了,请纠正我,但我认为你想做的是一个WORD外接程序(一个任务窗格外接程序),它暴露了以下功能:
- 上传当前文档到OneDrive for Business(基本上就是你所说的"Office Online"或任何其他云存储库)。
- 连接到OneDrive或任何云存储库并打开,使用户可以选择一个word文件并打开它,无论是在当前文档上还是在新文档上。
,如果这两个假设是正确的,我认为您实际上可以构建具有这些功能的外接程序。顺便说一句,在Word体验中,你实际上可以从OneDrive保存和加载Word文件,所以我不确定我理解你所说的"这不是默认功能的一部分"是什么意思。
无论如何,这是你可以用API做的事情:
- 您可以获得当前文件,docx, pdf或txt为此,您需要使用getFileAsync方法。这方法为您提供编码为base64的文件,然后您可以上传它在任何你需要的地方。如果需要,也可以对文件进行切片。在这里是如何使用API的一个很好的例子。
- 在当前文档中打开文件。为此,您需要有效地使用document.body。insertFileFromBase64方法。这种方法适用于Windows、Online、Mac和iOS的Word。在这里查看示例。
- 最后有一个预览api,你可以尝试在不同的窗口实际打开文档。看看这个实验的练习#8。使用createDocument功能。(请注意,您需要使用此处描述的预览api)。
现在,为了连接到OneDrive并上传或获取文件以及导航文件夹结构,您需要对一个驱动器使用图形API。下面是一个关于如何对图进行身份验证和调用的好示例。
我知道这是一堆信息,但应该能帮你找到正确的方向。
谢谢和快乐的编码!