ReportLab 中的编号列表
Numbered list in ReportLab
我想使用 reportlab 打印缩进的编号列表。
我要打印的内容
Welcome to my list
- List item
- List item
- List item
Thanks for reading
我的报告实验室模板:
from reportlab.pdfgen import canvas
canvas = canvas.Canvas("mypdf.pdf", pagesize=letter)
canvas.drawString(inch, inch, "Hello")
canvas.save()
我无法从 reportlab 用户指南中获取示例来处理我的 canvas。如何将此列表打印到我的 pdf 文件中?
将以下导入添加到脚本的开头应该可以解决您收到的错误:
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
此外,如下所示设置 bottomup 参数将使文本从页面右上角开始。
canvas = canvas.Canvas("mypdf.pdf", pagesize=letter, bottomup=0)
以下示例应按照您的描述创建 PDF:
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
canvas = canvas.Canvas("mypdf.pdf", pagesize=letter, bottomup=0)
items = [
"List item one",
"List item two",
"List item three",
]
text_object = canvas.beginText(inch, inch)
text_object.textLine("Welcome to my list")
for index, item in enumerate(items):
text_object.textLine(" {}. {}".format(index + 1, item))
text_object.textLine("Thanks or reading")
canvas.drawText(text_object)
canvas.save()
我想使用 reportlab 打印缩进的编号列表。
我要打印的内容
Welcome to my list
- List item
- List item
- List item
Thanks for reading
我的报告实验室模板:
from reportlab.pdfgen import canvas
canvas = canvas.Canvas("mypdf.pdf", pagesize=letter)
canvas.drawString(inch, inch, "Hello")
canvas.save()
我无法从 reportlab 用户指南中获取示例来处理我的 canvas。如何将此列表打印到我的 pdf 文件中?
将以下导入添加到脚本的开头应该可以解决您收到的错误:
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
此外,如下所示设置 bottomup 参数将使文本从页面右上角开始。
canvas = canvas.Canvas("mypdf.pdf", pagesize=letter, bottomup=0)
以下示例应按照您的描述创建 PDF:
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
canvas = canvas.Canvas("mypdf.pdf", pagesize=letter, bottomup=0)
items = [
"List item one",
"List item two",
"List item three",
]
text_object = canvas.beginText(inch, inch)
text_object.textLine("Welcome to my list")
for index, item in enumerate(items):
text_object.textLine(" {}. {}".format(index + 1, item))
text_object.textLine("Thanks or reading")
canvas.drawText(text_object)
canvas.save()