到目前为止,还没有在堆栈或文档上找到任何提示。有小费吗?请注意,我没有使用表格进行突出显示
问问题
184 次
1 回答
0
在 Ms Word 中,突出显示功能只能应用有限数量的预定颜色:
yellow
,green
,cyan
,magenta
,blue
red
,darkBlue
,darkCyan
,darkGreen
,darkMagenta
darkRed
,darkYellow
,darkGray
,lightGray
,black
none
突出显示与可以应用任何背景颜色(包括主题颜色)的阴影不同。如果有的话,突出显示颜色将应用于阴影颜色。
现在,OpenTBS 可以更改任何这些属性(突出显示或阴影),因为它预先存在于模板中。即 OpenTBS 不能创建高亮或阴影背景,它只能改变颜色(或将其变为no color
)。
在 DOCX 中,现有突出显示的 XML 元素放置在突出显示的片段的头部,如下所示:
<w:highlight w:val="darkRed"/>
现有着色的 XML 元素放置在彩色片段的头部,如下所示:
<w:shd w:val="clear" w:color="auto" w:fill="FF6600"/>
所以现在,使用 OpenTBS进行动态突出显示的解决方案是:
- 在模板中,选择要动态突出显示的文本部分,并为其添加任何突出显示。
- 在文本中,添加一个带有“att”参数的 TBS 标签:
[myblock.mycolor_name,att=w:highlight#w:val]
- 在 PHP 端,确保该列
mycolor_name
始终具有上面给出的颜色列表中的值。这可以使用ondata自定义函数来保证。
对于动态着色,它是完全一样的:
- 在模板中,选择需要动态底纹的部分文本,并在其上添加任何颜色。只使用标准颜色,而不是主题颜色,因为主题颜色的 XML 有点不同。
- 在文本中,添加一个带有“att”参数的 TBS 标签:
[myblock.mycolor_value,att=w:shd#w:val]
- 在 PHP 端,确保该列
mycolor_value
始终具有一个值,即六色值(如 HTML 中)。这可以使用ondata自定义函数来保证。
于 2016-05-09T08:39:03.330 回答