删除 DocxTemplater 中的空行
Remove empty line in DocxTemplater
我正在使用 DocxTemplater 和 Node。
我正在尝试弄清楚如果元素为空(即 '' 或 null)如何删除空行 - 我似乎无法在 SO 或其他地方找到类似的案例!
我在 Docx 上的占位符如下所示:
{#data}
{#input}
{Line1}
{Line2}
{Line3}
{/input}
{/data}
任何我的阵列看起来像这样:
data: {
input: {
Line1: 'TEXT1',
Line2: '',
Line3: 'TEXT3'
},
}
当我创建文档时,我想删除 'Line2' 所在的行,因为它是空的。
所以不是这个:
TEXT1
TEXT3
我愿意
TEXT1
TEXT3
更新
按照建议将我的代码更改为以下内容,但是没有任何成功。还有更多的指点吗?提前致谢!
{#data}
{#input}
{#Line1}{Line1}{/Line1}
{#hasLine2}{Line2}{/hasLine2}
{#Line3}{Line3}{/Line3}
{/input}
{/data}
和
data: {
input: {
Line1: 'TEXT1',
Line2: '',
Line3: 'TEXT3',
hasLine2: false
},
}
显然In docxtemplater, conditions and loops use the same syntax called Sections
。
因此您可以将模板制作成:
{#data}
{#input}
{#Line1}{.}{/Line1}
{#Line2}{.}{/Line2}
{#Line3}{.}{/Line3}
{/input}
{/data}
我是 docxtemplater 的创建者
你可以这样做:
{#data}
{#input}
{#Line1}
{Line1}
{/Line1}
{#hasLine2}
{Line2}
{/hasLine2}
{#Line3}
{Line3}
{/Line3}
{/input}
{/data}
你在你的代码中:
new Docxtemplater()
.loadZip(zip)
.setOptions({paragraphLoop:true})
使用 paragraphLoop 选项,如果循环的开始和结束在不同的段落中,那么当您的部分为空时,您将不会获得任何额外的space。
我正在使用 DocxTemplater 和 Node。
我正在尝试弄清楚如果元素为空(即 '' 或 null)如何删除空行 - 我似乎无法在 SO 或其他地方找到类似的案例!
我在 Docx 上的占位符如下所示:
{#data}
{#input}
{Line1}
{Line2}
{Line3}
{/input}
{/data}
任何我的阵列看起来像这样:
data: {
input: {
Line1: 'TEXT1',
Line2: '',
Line3: 'TEXT3'
},
}
当我创建文档时,我想删除 'Line2' 所在的行,因为它是空的。
所以不是这个:
TEXT1
TEXT3
我愿意
TEXT1
TEXT3
更新
按照建议将我的代码更改为以下内容,但是没有任何成功。还有更多的指点吗?提前致谢!
{#data}
{#input}
{#Line1}{Line1}{/Line1}
{#hasLine2}{Line2}{/hasLine2}
{#Line3}{Line3}{/Line3}
{/input}
{/data}
和
data: {
input: {
Line1: 'TEXT1',
Line2: '',
Line3: 'TEXT3',
hasLine2: false
},
}
显然In docxtemplater, conditions and loops use the same syntax called Sections
。
因此您可以将模板制作成:
{#data}
{#input}
{#Line1}{.}{/Line1}
{#Line2}{.}{/Line2}
{#Line3}{.}{/Line3}
{/input}
{/data}
我是 docxtemplater 的创建者
你可以这样做:
{#data}
{#input}
{#Line1}
{Line1}
{/Line1}
{#hasLine2}
{Line2}
{/hasLine2}
{#Line3}
{Line3}
{/Line3}
{/input}
{/data}
你在你的代码中:
new Docxtemplater()
.loadZip(zip)
.setOptions({paragraphLoop:true})
使用 paragraphLoop 选项,如果循环的开始和结束在不同的段落中,那么当您的部分为空时,您将不会获得任何额外的space。