如何使用reportlab pdfgen设置textobject的文本颜色
在ReportLab的PDFGen中设置TextObject文本颜色
ReportLab的TextObject本身自带文本颜色设置方法,直接调用即可解决问题,具体实现如下:
示例代码
from reportlab.pdfgen import canvas # 创建画布对象 c = canvas.Canvas("colored_text.pdf") # 初始化TextObject textobject = c.beginText() # 必须先设置文本起始坐标,否则文本不会显示 textobject.setTextOrigin(100, 700) # 设置文本填充色:使用预定义颜色名称 textobject.setFillColor('red') # 也可以用RGB值(参数为0-1区间的浮点数) # textobject.setFillColorRGB(1, 0, 0) # 或者CMYK模式(适合印刷场景) # textobject.setFillColorCMYK(0, 1, 1, 0) # 添加第一行文本 textobject.textOut("红色示例文本") # 切换颜色,添加自动换行的文本 textobject.setFillColor('blue') textobject.textLine("蓝色示例文本") # textLine会自动换行到下一行 # 将TextObject绘制到画布 c.drawText(textobject) # 保存PDF文件 c.save()
关键说明
- 必须先调用
setTextOrigin()指定文本起始位置,否则文本无法被渲染 setFillColor()支持多数常见颜色名称,比如'black'、'green'、'yellow'等- 需要精准颜色控制时,用
setFillColorRGB()(适合屏幕显示)或setFillColorCMYK()(适合印刷) - 若要给文本添加描边效果,可使用
setStrokeColor()系列方法,搭配setStrokeWidth()调整描边粗细
内容的提问来源于stack exchange,提问作者Austin Poulson
相关产品推荐
相关产品推荐

