gpt4 book ai didi

php - 如何使用 opentbs 在 docx 中插入条件空格(仅当某些字段不为空时)

转载 作者:行者123 更新时间:2023-12-02 06:17:39 24 4
gpt4 key购买 nike

我正在使用 opentbs 从用户输入到表单中的数据生成 .docx 格式的报告,并希望能够有条件地在字段之间添加空格。下面是该问题的典型示例:用户必须输入街道地址 (address1),但地址字段前后的字段(分别为 business 和 address2)是可选的。有没有办法在模板中设置合并字段,这样,如果用户将某些内容放入业务字段,合并产生的文档将具有业务字段的值,后跟一个空格,但如果用户离开字段空白,合并后的文档将没有字段或空格?我可以看到实现此目的的两种可能方法: 1. 使用独立的合并字段,仅当“业务”字段不为空时才打印空格;或 2. 在打印字段值和空格的模板中使用合并字段,但前提是字段不为空。

这是我对这两个解决方案的伪代码:1. [onshow.business][onshow;if[business]!=blank;then' ';else''][onshow.address1]2. [onshow.business AND ' '][onshow.address1]

看起来这一定是可能的,但我还没有找到一种方法将伪代码转换为我的 docx 中真实的、有效的合并字段。模板。我已经搜索了这个论坛和tbs 论坛上的所有条目以及文档,但是问题并没有被直接提出,而且我尝试过的东西也没有奏效。任何帮助将不胜感激。

最佳答案

这将在 business 的值之后插入一个不间断空格, 如果不是 '' :

[onshow.business; if [val] != ''; then [val] ]

您可能遇到的问题是 Word 如何表示空格...我建议先插入问题较少的字符以确保您的标签正常工作(例如 ^a 可能),然后开始工作找到合适的字符/参数组合来使空间发挥作用。

当您开始查看时,我会尝试 \s : http://www.tinybutstrong.com/forum.php?thr=3234然后我会看xml:space="preserve" : http://www.tinybutstrong.com/forum.php?thr=3263

看起来它出现在 <w:t> 上像这样的标签:<w:t xml:space="preserve">所以你可以尝试这样的事情:

PHP:

$f = 'preserve';

模板:

[onshow.business; if [val] != ''; then '[val] ';][onshow.p;att='xml:space']

可能有更好的方法来处理 att但这至少能让你入门。

关于php - 如何使用 opentbs 在 docx 中插入条件空格(仅当某些字段不为空时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22623586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com