0

到目前为止,还没有在堆栈或文档上找到任何提示。有小费吗?请注意,我没有使用表格进行突出显示

4

1 回答 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进行动态突出显示的解决方案是:

  1. 在模板中,选择要动态突出显示的文本部分,并为其添加任何突出显示。
  2. 在文本中,添加一个带有“att”参数的 TBS 标签:[myblock.mycolor_name,att=w:highlight#w:val]
  3. 在 PHP 端,确保该列mycolor_name始终具有上面给出的颜色列表中的值。这可以使用ondata自定义函数来保证。

对于动态着色,它是完全一样的:

  1. 在模板中,选择需要动态底纹的部分文本,并在其上添加任何颜色。只使用标准颜色,而不是主题颜色,因为主题颜色的 XML 有点不同。
  2. 在文本中,添加一个带有“att”参数的 TBS 标签:[myblock.mycolor_value,att=w:shd#w:val]
  3. 在 PHP 端,确保该列mycolor_value始终具有一个值,即六色值(如 HTML 中)。这可以使用ondata自定义函数来保证。
于 2016-05-09T08:39:03.330 回答