Вы можете использовать Текучий объект, например Paragraph
и присвоить alignment
значение 1:
styles = getSampleStyleSheet()
title_style = styles['Heading1']
title_style.alignment = 1
title = Paragraph("Hello Reportlab", title_style)
story.append(title)
В этом примере будет создан документ PDF с центрированным текстом:
from flask import make_response
import io
from reportlab.platypus import SimpleDocTemplate, Paragraph
from reportlab.lib.styles import getSampleStyleSheet
story=[]
pdf_doc = io.BytesIO()
doc = SimpleDocTemplate(pdf_doc)
styles = getSampleStyleSheet()
title_style = styles['Heading1']
title_style.alignment = 1
title = Paragraph("Hello Reportlab", title_style)
story.append(title)
doc.build(story)
content = pdf_doc.getvalue()
#output to browser
response = make_response(content)
response.mimetype = 'application/pdf'
return response
Если вы хотите, чтобы текст перемещался влево, вам нужно изменить alignment
на 0:
title_style.alignment = 0
Если вы хотите, чтобы текст всплывал вправо, вам нужно изменить alignment
на 2:
title_style.alignment = 2