Ein*_*ins 6 python pdf reportlab pandas
我正在使用reportlab生成pdf,我希望我的标题位于中心。但如何实现,找不到解决方案。
这是我的代码:
def add_text(text, style="Normal", fontsize=12):
Story.append(Spacer(1, 12))
ptext = "<font size={}>{}</font>".format(fontsize, text)
Story.append(Paragraph(ptext, styles[style]))
Story.append(Spacer(1, 12))
add_text("Title", style="Heading1", fontsize=24)
Run Code Online (Sandbox Code Playgroud)
我会创建自己的文本样式并参考这个,在你的情况下
def add_text(text, style="Normal", fontsize=12):
Run Code Online (Sandbox Code Playgroud)
到
def add_text(text, style="Normal_CENTER", fontsize=12):
Run Code Online (Sandbox Code Playgroud)
以下是创建自己风格的方法:
from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet
from reportlab.lib.enums import TA_JUSTIFY, TA_LEFT, TA_CENTER, TA_RIGHT
from reportlab.lib import colors
styles = getSampleStyleSheet()
styles.add(ParagraphStyle(name='Normal_CENTER',
parent=styles['Normal'],
fontName='Helvetica',
wordWrap='LTR',
alignment=TA_CENTER,
fontSize=12,
leading=13,
textColor=colors.black,
borderPadding=0,
leftIndent=0,
rightIndent=0,
spaceAfter=0,
spaceBefore=0,
splitLongWords=True,
spaceShrinkage=0.05,
))
styles.add(ParagraphStyle(name='New Style',
alignment=TA_LEFT,
fontName='Helvetica',
fontSize=7,
textColor=colors.darkgray,
leading=8,
textTransform='uppercase',
wordWrap='LTR',
splitLongWords=True,
spaceShrinkage=0.05,
))
Run Code Online (Sandbox Code Playgroud)