javascript - 是否可以通过更改 OOXML 来更改 Word 中内联对象的“relativeHeight”或 Z 顺序?
问题描述
我正在使用 office.js 创建一个 Word Web 加载项。
我使用内容控件标记源 Word 文件中的几个对象。我在源 Word 文件的顶部插入一个矩形对象。我的目标是将一些对象(使用内容控件标记)放在插入的矩形上方。
我正在解析 Word 文档的 OOMXL,并尝试将标记对象放在这个页面大小的矩形对象前面,该对象放在源文档中所有先前对象的上方。
对于浮动对象,我可以修改大于矩形的“relativeHeight”,我设法将对象放在前面。
但是,内联对象没有这个“相对属性”吗?手动,在 MS Word 中,我可以将内联对象的布局更改为“在文本前面”,并且该对象显示为具有“relativeHeight”属性的锚点。
OOXML 的区别:内联对象
<w:drawing>
<**wp:inline** distT="0" distB="0" distL="0" distR="0" wp14:anchorId="728024E4" wp14:editId="43DF6D69">
...
</wp:inline>
</w:drawing>
浮动对象
<w:drawing>
<wp:**anchor** distT="0" distB="0" distL="114300" distR="114300" simplePos="0" relativeHeight="251659264" behindDoc="0" locked="0" layoutInCell="1" allowOverlap="1" wp14:anchorId="728024E4" wp14:editId="0AFA4E26">
<wp:simplePos x="0" y="0"/>
<wp:positionH relativeFrom="column">
<wp:posOffset>533400</wp:posOffset>
</wp:positionH>
<wp:positionV relativeFrom="paragraph">
<wp:posOffset>-1905</wp:posOffset>
</wp:positionV>
...
</wp:anchor>
</w:drawing>
如您所见,锚点的内联更改和一些位置信息是自动添加的。我想知道,如何通过更改任何内联对象的 OOXML 来实现这一点。
解决方案
根据定义,内联对象被视为文本。如果形状是内联的,则可以将其视为文本字符。因此,您不能将文本字符放在其他文本的前面或后面。例如,假设您的文档仅包含三个字符:“ABC”,您如何将字符“B”放在其他两个字符的后面或前面?谢谢!
推荐阅读
- angular - 如何在 Angular 中动态获取进度条
- centos - 通过配置iptables创建jumphost的问题
- python - IndexError:pyswip 库的列表索引超出范围
- php - 我想通过循环输入在一个表中提交多条记录,但只有一条记录首先进入数据库 - PHP / MYSQLI
- javascript - 如何从 Angular2+ 的 mat-tree 中的 drop 事件中获取 mat-tree-node 元素?
- android - 颤振应用程序未运行
- javascript - Python 新手,尝试创建一个小的 Python 脚本以从使用 javascript 和表单的密码生成内部网站中提取密码
- gcc - 如何修复我的代码块编译程序使用 fstream,无法打开大 20 mbs 的文件?
- vue.js - 如何用动画创建 vueJS 倒计时?
- javascript - 如何从 Javascript(和/或 Lodash)中的二维数组数组中删除数组