【问题标题】:Inserting a bullet point and styling to [onshow.] entires in openTBS在 openTBS 中插入项目符号点和样式到 [show.] 条目
【发布时间】:2013-09-16 06:26:57
【问题描述】:

我想知道是否有办法通过通过 onshow 应用的变量传递项目符号点和项目符号点的基本 CSS 颜色样式。 浏览器

$string = '<span style="color:red">&#149;</span> The rest of the string';
$TBS -> VarRef['bulletPoint'] = $string;

然后在docx模板中有

[onshow.bulletPoint] 被替换为

• 字符串的其余部分

但在这种情况下,项目符号点为红色。

【问题讨论】:

    标签: php docx opentbs tinybutstrong


    【解决方案1】:

    对于项目符号,您可以使用 UTF8 通用字符。 OpenXML 似乎无法识别所有 HTML 特殊字符,例如 &amp;#149;或&amp;bull;

    所以剩下的问题是插入一个包含样式更改的字符串。 由于在 OpenXML 中样式不能应用于 XML 实体(例如 XML),因此您必须对包含您的字符串的整个实体进行操作。它必须是代表 DOCX 中文本的一部分(假设您的文档是 DOCX)。

    $string = "
          <w:r>
            <w:rPr>
              <w:color w:val="FF0000"/>
            </w:rPr>
            <w:t>•</w:t>
          </w:r>
          <w:r>
            <w:t xml:space="preserve"> The rest of the string</w:t>
          </w:r>";
    $TBS->VarRef['bulletPoint'] = $string;
    

    DOCX:

    [onshow.bulletPoint;strconv=no;enlarge=w:r]
    

    参数strconv=no 使您可以不转换XML。 参数enlarge=w:r 使您能够扩展 TBS 字段的范围。这可能
    封装可能放置在同一 &lt;w:r&gt; 实体中的其他一些文本。

    【讨论】:

    • 嗨,这似乎有效,除了单词是说点是非法字符。我什至创建了一个新词 docx,插入点符号,然后解压缩 docx,抓取 xml 文件并直接从中复制点并使用该点,但它仍然显示非法 xml 字符。他们在错误消息中声明的 xml 文档中的位置的参考是第一个点的位置。
    猜你喜欢
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2010-12-15
    • 2016-03-17
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多