pyfpdf中SetLineWidth方法不可用,如何设置单元格边框线宽?
解决pyfpdf中无法调整单元格边框线宽的问题
pyfpdf确实没有SetLineWidth方法,不过可以通过以下方式调整线宽:
直接修改内部线宽属性
pyfpdf用_lw这个实例变量存储当前线宽,默认值是0.2mm,直接给它赋值就能改变后续所有线条(包括单元格边框)的宽度:
from fpdf import FPDF pdf = FPDF('W', 'mm', 'A4') pdf.alias_nb_pages() pdf._lw = 0.1 # 设置线宽为0.1mm pdf.add_page() # 绘制带边框的单元格,边框线宽会使用刚才设置的0.1mm pdf.cell(6, 10, '测试单元格', 'LTB', 0, 'C') pdf.output('test.pdf')
这个设置会在所有页面生效,和官方FPDF的SetLineWidth效果一致,不管是在添加页面之前还是之后设置,只要在绘制单元格前修改就会生效。
临时调整线宽(按需使用)
如果需要部分单元格用不同线宽,绘制前后切换即可:
pdf = FPDF('W', 'mm', 'A4') pdf.add_page() # 保存原始线宽 original_lw = pdf._lw # 设置粗线宽 pdf._lw = 0.3 pdf.cell(6, 10, '粗边框单元格', 'LTB', 0, 'C') # 恢复原始线宽 pdf._lw = original_lw # 后续单元格回到默认线宽 pdf.cell(6, 10, '普通边框单元格', 'LTB', 0, 'C') pdf.output('test.pdf')
内容的提问来源于stack exchange,提问作者user17565490
相关产品推荐
相关产品推荐

