首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python包装文本和报告实验室

python包装文本和报告实验室
EN

Stack Overflow用户
提问于 2017-03-30 13:26:06
回答 2查看 1.9K关注 0票数 0

我有一些代码,我希望每10个字符将长字符串包装起来,然后使用reportlab将其添加到PDF中:

我就是这样做的:

代码语言:javascript
运行
复制
text = '*long_text_long_text_long_text_long_text*'
text = "\n".join(wrap(text, 10))
canvas.drawString(5,227, text)

我的pdf是创建的,但我想打破的线条,我只能看到黑色的矩形。你可以看到附图:

你能帮帮我吗?谢谢!

EN

Stack Overflow用户

发布于 2022-10-29 07:56:02

单独放置每一行的另一种方法是使用以下段落:

代码语言:javascript
运行
复制
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A5
from reportlab.platypus import Paragraph

text = "long text<br />long text<br />long text<br />"
text_width=A5[0] / 2
text_height=A5[1] / 2
x = A5[0]/4
y = A5[1]/4

pdf = canvas.Canvas(filename="test.pdf", pagesize=A5)

styles = getSampleStyleSheet()
p = Paragraph(text, styles["Normal"])
p.wrapOn(pdf, text_width, text_height)
p.drawOn(pdf, x, y)

pdf.save()

除了支持手动放行中断之外,这一段还支持自动换行。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43119284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档