【发布时间】:2021-05-18 13:26:51
【问题描述】:
我正在 python reportlab 中做报告。我想从右侧对齐一些文本。但是每一行文字的长度不同,我必须手动设置坐标。我怎样才能动态地做到这一点?
pdf.setFont('Helvetica', 9)
pdf.drawString(400,600,"Rechnungsdatum: "+today)
pdf.drawString(390,590,"Leistungserbringung: "+master_data.loc[master_data['company']==company]['Leistungserbringung'][0]) #cus_specific
pdf.drawString(343,580,"Leistungszeitraum: "+start+" - "+end)
pdf.drawString(372,570,"Rechnungsnummer: "+master_data.loc[master_data['company']==company]['Rechnungsnummer'][0]) #cus_specific
pdf.drawString(398,560,"Lieferantennummer: "+master_data.loc[master_data['company']==company]['Lieferantennummer'][0]) #cus_specific
pdf.drawString(432,550,"Zahlungsziel: " +str((date.today().replace(day=1) - timedelta(days=1)).day)+ " Tage")
看起来是这样的:
[]
我希望所有线条从右侧对齐以获得美丽的景色。我正在使用 Canvas 并通过 drawString() 绘制每个字符串。任何帮助将不胜感激)
【问题讨论】:
-
你需要得到文本的大小然后减去画布宽度
-
我正在尝试找到获取画布宽度的方法。你能告诉我有什么功能或属性吗?