Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python reportlab如何使左对齐的段落文本在表中右对齐。_Python_Reportlab - Fatal编程技术网

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”)