我正在构建这个reportlab pdf生成器应用程序,并且我使用SimpleDocTemplate作为我的页面模板。我似乎无法按照预期将段落旋转 90 度。有没有人有办法解决这个问题?
#----
file_number1 = f"<font name='Helvetica' size='11'><b>{parcel.FileNumber}</b></font>"
file_number1_style = styles['BodyText_FileNumber']
file_number1_style.leftIndent = -320
file_number1_data = Paragraph(file_number1, file_number1_style)
elements.append(file_number1_data)
elements.append(Spacer(1, -5))
#----
Paragraph 没有旋转属性。还有别的办法吗?
你可以这样尝试
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.lib.units import inch
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer
def rotate_text(canvas):
canvas.saveState()
canvas.rotate(90)
ptext = "Rotated Text"
styles = getSampleStyleSheet()
p = Paragraph(ptext, styles['BodyText'])
p.wrapOn(canvas, 100, 500)
p.drawOn(canvas, -100, 0)
canvas.restoreState()
def generate_pdf():
doc = SimpleDocTemplate("rotate_text.pdf", pagesize=letter)
elements = []
c = canvas.Canvas("rotate_text.pdf", pagesize=letter)
rotate_text(c)
c.showPage()
c.save()
generate_pdf()