在使用PyFPDF生成PDF报告时,我有一个小问题。如果我能解决这个问题,我的项目就完成了,所以任何快速修复都是非常可取的,即使它很混乱。在
我需要一个缩进和文本包装的组合,但是到目前为止我的方法还不兼容。我用8个制表符(\t)对行进行缩进,16表示两级缩进。我正在打印多个单元格中的行,以确保它们换行到下一行。但是,当文本换行时,它显然没有从开头保留制表符。在
我似乎不知道如何将multi\u单元格放在更右边,或者在一个特定的x坐标上,所以我不得不使用多个\t字符。下面是一个代码示例:for d in currentDiagnoses:
pdf.set_font("Arial", size = 9, style = 'B')
pdf.multi_cell(0, 5, "- " + d.name, 0, 'L')
pdf.set_font("Arial", size = 9, style = '')
for i in d.items:
if isinstance(i, list):
pdf.multi_cell(0, 5, "\t\t\t\t\t\t\t\t= " + i[0], 0, 'L')
for subi in i:
if subi == i[0]:
continue
pdf.multi_cell(0, 5, "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t- " + subi, 0, 'L')
else:
pdf.multi_cell(0, 5, "\t\t\t\t\t\t\t\t= " + i, 0, 'L')\
代码TL;DR:对于每个诊断对象,打印诊断名称。然后,将诊断中的每个标准缩进打印一次(8个标签页)。如果项目本身是一个列表,则在一个缩进处打印该列表的第一个项目,并在两个缩进处打印其余项目(16个选项卡)。在
希望这不会太令人困惑。我们正在尝试自动生成患者报告,这是上线前的最后一步。在