Office.js: 更改页面大小

Office.js: Change page size

我们如何更改 Office.js 中某个部分的页面大小? API(最新版本)中没有选项。我已经尝试使用几种不同的方案通过 OOXML 来完成,但无济于事。

我已确认(通过手动编辑 Docx 文件)您需要更改 w:pgSz 节点的 w:ww:h 属性以更改页面大小。但是,在插入OOXML的时候,我实在想不通到底需要插入哪个对象。例如,我尝试了 context.document.body.insertOoxml()context.document.sections.getFirst().body.insertOoxml(),这两种方法都不会以任何方式改变页面大小。

我也尝试过使用 Section.set() 函数但没有成功。

任何人都可以分享如何实现这一目标吗?

编辑

问题的根源似乎是页面大小存储在 sectPr 节点中,Office.js 永远不会加载。我试过 load() 功能以及 context.loadRecursive()。我可以很好地加载 Sections 集合及其标量和导航属性,但永远不会加载该部分的 properties。我不确定我还能做什么。

另一种方法,即插入原始 OOXML 的方法,也失败了,因为 insertOoxml() 方法不适用于 Section 对象,而只能用于 Section.body,这会影响该部分而不是其元属性。

Word / Office JS - Change page size of an open document

来自 Office.js 团队的 MS 人员告诉我,目前 JS-based add-ins 无法做到这一点。太遗憾了。经过10年的发展,Office.js应该比这个更强大

是的,我已经尝试了 API 和 OOXML。 None 其中似乎有效。