Office.js: 更改页面大小
Office.js: Change page size
我们如何更改 Office.js 中某个部分的页面大小? API(最新版本)中没有选项。我已经尝试使用几种不同的方案通过 OOXML 来完成,但无济于事。
我已确认(通过手动编辑 Docx 文件)您需要更改 w:pgSz
节点的 w:w
和 w: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
,这会影响该部分而不是其元属性。
来自 Office.js 团队的 MS 人员告诉我,目前 JS-based add-ins 无法做到这一点。太遗憾了。经过10年的发展,Office.js应该比这个更强大
是的,我已经尝试了 API 和 OOXML。 None 其中似乎有效。
我们如何更改 Office.js 中某个部分的页面大小? API(最新版本)中没有选项。我已经尝试使用几种不同的方案通过 OOXML 来完成,但无济于事。
我已确认(通过手动编辑 Docx 文件)您需要更改 w:pgSz
节点的 w:w
和 w: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
,这会影响该部分而不是其元属性。
来自 Office.js 团队的 MS 人员告诉我,目前 JS-based add-ins 无法做到这一点。太遗憾了。经过10年的发展,Office.js应该比这个更强大
是的,我已经尝试了 API 和 OOXML。 None 其中似乎有效。