Python reportlab如何使左对齐的段落文本在表中右对齐。
我的第一个想法是使用Python reportlab如何使左对齐的段落文本在表中右对齐。,python,reportlab,Python,Reportlab,我的第一个想法是使用段落将文本向左对齐,然后使用表格样式将该段落显示在列/单元格的右侧,但是表格样式([('align',(1,0),(-1,-1),'right'))似乎没有任何影响。在我的示例代码中,我需要红色框中的文本为左对齐文本(如绿色框中的文本),但“粘住”在红色框的右侧 from reportlab.lib.pagesizes import letter from reportlab.lib.styles import getSampleStyleSheet, ParagraphSt
段落将文本向左对齐,然后使用表格样式将该段落显示在列/单元格的右侧,但是表格样式([('align',(1,0),(-1,-1),'right'))
似乎没有任何影响。在我的示例代码中,我需要红色框中的文本为左对齐文本(如绿色框中的文本),但“粘住”在红色框的右侧
from reportlab.lib.pagesizes import letter
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Table, TableStyle, Spacer)
from reportlab.lib import colors
from reportlab.lib.enums import TA_RIGHT, TA_CENTER
doc = SimpleDocTemplate("//cglvf01/tec/tmp/test/old/simple_table.pdf", pagesize=letter)
elements = []
styles = getSampleStyleSheet()
style_right = ParagraphStyle(name='right', parent=styles[
'Normal'], alignment=TA_RIGHT)
style_center = ParagraphStyle(name='right', parent=styles[
'Normal'], alignment=TA_CENTER)
zero1 = """<font size="14">
<b>header</b><br/></font><font size="12">
line1 <br/>
line2 <br/>
line3 </font><br/><br/>
"""
zero2 = """<font size="14">
<b>header</b><br/></font><font size="12">
line1 <br/>
line2 <br/>
line3 </font><br/><br/>
"""
p1 = Paragraph(zero1,styles['Normal'])
p2 = Paragraph(zero2, style_center)
data= [[p1,p2]]
t=Table(data)
t.setStyle(TableStyle([('TEXTCOLOR',(0,0),(1,-1),colors.red),
('BOX', (0, 0), (-2, -1), 0.5, colors.green),
('BOX', (1, 0), (-1, -1), 0.5, colors.red),
('ALIGN', (1, 0), (-1, -1), 'RIGHT'),
]))
elements.append(t)
elements.append(Spacer(1, 12))
p1 = Paragraph(zero1,styles['Normal'])
p2 = Paragraph(zero2, style_right)
data2= [[p1,p2]]
t2=Table(data2)
t2.setStyle(TableStyle([('TEXTCOLOR',(0,0),(1,-1),colors.red),
('BOX', (0, 0), (-2, -1), 0.5, colors.green),
('BOX', (1, 0), (-1, -1), 0.5, colors.red),
('VALIGN', (1, 0), (-1, -1), 'TOP'),
]))
elements.append(t2)
# write the document to disk
doc.build(elements)
print("fin")
来自reportlab.lib.pagesizes导入信函
从reportlab.lib.styles导入getSampleStyleSheet、ParagraphStyle
从reportlab.platypus导入(SimpleDoctTemplate、段落、表格、表格样式、间隔符)
从reportlab.lib导入颜色
从reportlab.lib.enums导入TA_右侧,TA_中心
doc=SimpleDocTemplate(//cglvf01/tec/tmp/test/old/simple_table.pdf),pagesize=letter)
元素=[]
styles=getSampleStyleSheet()
style\u right=段落样式(name='right',parent=样式[
“正常”],对齐方式=TA_右)
样式\中心=段落样式(name='right',父项=样式[
“正常”]、对齐=TA_中心)
零1=“”
标题
第1行
第2行
第3行
"""
零2=“”
标题
第1行
第2行
第3行
"""
p1=段落(zero1,样式['Normal'])
p2=段落(零2,样式_中心)
数据=[[p1,p2]]
t=表(数据)
t、 setStyle(表样式([('TEXTCOLOR',(0,0),(1,-1),colors.red),
('BOX',(0,0),(-2,-1),0.5,颜色。绿色),
('BOX',(1,0),(-1,-1),0.5,颜色。红色),
('ALIGN',(1,0),(-1,-1),'RIGHT'),
]))
元素。追加(t)
元素。附加(间隔符(1,12))
p1=段落(zero1,样式['Normal'])
p2=段落(零2,右样式)
数据2=[[p1,p2]]
t2=表(数据2)
t2.设置样式(表样式([('TEXTCOLOR',(0,0),(1,-1),colors.red),
('BOX',(0,0),(-2,-1),0.5,颜色。绿色),
('BOX',(1,0),(-1,-1),0.5,颜色。红色),
('VALIGN',(1,0),(-1,-1),'TOP'),
]))
元素。追加(t2)
#将文档写入磁盘
文档生成(元素)
打印(“fin”)