如何在 ReportLab 的同一段落中使用多种文本颜色?
How to have multiple text colors within the same paragraph in ReportLab?
我想创建一个段落如下:
step = str(StepNumber) #StepNumber is an int
if flag == True:
color = "green"
sv = "[S]"
else:
color = "red"
sv = "[V]"
P = Paragraph('<font color = "black>step</font>' + '<font color = color>sv</font>', style)
这不起作用并将 XML 字符串放入报告中,而不是将其应用于 step 和 sv 参数。目标是在同一段落中使用黑色字体的步骤编号和绿色或红色字体的 sv 参数(取决于上面的 if 语句)。我试图将它们分成两个单独的段落,但这似乎在两个段落之间添加了不需要的新行(或间距,不确定)。
另外,当一个段落需要一个已经指定了它自己的字体属性(例如字体颜色)的样式参数时,如何在段落中使用 XML?
它被打印为 XML 的原因是因为您提供的正是这个。所以我们必须正确格式化字符串,如下所示:
step = str(StepNumber) # StepNumber is an int
if flag:
color = "green"
sv = "[S]"
else:
color = "red"
sv = "[V]"
P = Paragraph('<font color="black">{step}</font> <font color="{color}">{sv}</font>'.format(color=color, sv=sv, step=step)
, style)
现在字符串完全取决于您的变量,XML 有效。
我想创建一个段落如下:
step = str(StepNumber) #StepNumber is an int
if flag == True:
color = "green"
sv = "[S]"
else:
color = "red"
sv = "[V]"
P = Paragraph('<font color = "black>step</font>' + '<font color = color>sv</font>', style)
这不起作用并将 XML 字符串放入报告中,而不是将其应用于 step 和 sv 参数。目标是在同一段落中使用黑色字体的步骤编号和绿色或红色字体的 sv 参数(取决于上面的 if 语句)。我试图将它们分成两个单独的段落,但这似乎在两个段落之间添加了不需要的新行(或间距,不确定)。
另外,当一个段落需要一个已经指定了它自己的字体属性(例如字体颜色)的样式参数时,如何在段落中使用 XML?
它被打印为 XML 的原因是因为您提供的正是这个。所以我们必须正确格式化字符串,如下所示:
step = str(StepNumber) # StepNumber is an int
if flag:
color = "green"
sv = "[S]"
else:
color = "red"
sv = "[V]"
P = Paragraph('<font color="black">{step}</font> <font color="{color}">{sv}</font>'.format(color=color, sv=sv, step=step)
, style)
现在字符串完全取决于您的变量,XML 有效。