在ReportLab中交替文本颜色/字体等

0 投票
1 回答
3955 浏览
提问于 2025-04-18 05:50

我想知道在用reportlab写PDF的时候,能不能在段落中交替使用不同的颜色或字体?

我写的代码大概是这样的:

p = ParagraphStyle('myStyle')
p.textColor = 'black'
p.fontSize = 10

pages = [1,2,3,4,5,6,7,8,9,10]
doc = canvas.Canvas('testDoc.pdf', landscape(A4))
txt = Paragraph(pages, p)
txt.wrapOn(doc,1200,1000)
txt.drawOn(doc, 0.5*inch, 6*inch)

我想问的是:如果我有一些好的页面和坏的页面,比如说第2、3页和第6、7页是坏的,我希望能把这些页面的文字用红色写出来,而其他页面的文字用正常的颜色。但我担心这样做不太像表格那样,可以为每个单元格设置样式。

那么,这样做是不可能的吗?

1 个回答

2

你有没有看过用户指南?里面有很多方法可以改变文字颜色。例如,第6.2节开始讲段落的标记,第6.3节则讲段落内部的标记。你可能需要用到“font”标签(在图6.9中有示例)。

另外,我不太明白实际的文字是从哪里来的。我觉得你可以为每一页单独改变p.textColor。

撰写回答