使用FPDF2与Python3生成PDF报表:如何插入字符串变量
FPDF2向HTML内容插入变量的实现方案
你可以通过Python原生的字符串格式化语法,将变量动态插入到传入write_html方法的HTML内容中,常用的两种实现方式如下:
方式一:f-string格式化(Python 3.6及以上版本推荐)
在三引号字符串前添加f标识,即可直接在字符串中通过{变量名}的形式插入变量值,示例代码如下:
from fpdf import FPDF, HTMLMixin class PDF(FPDF, HTMLMixin): pass name = "Chris" pdf = PDF() pdf.add_page() # 三引号前加f启用f-string格式化 pdf.write_html(f""" <h1>我的名字 {name} 会展示在这里</h1> """) pdf.output("htmlnew.pdf")
方式二:str.format()格式化(兼容低版本Python)
如果使用的Python版本低于3.6,可以调用字符串的format()方法完成变量注入,示例代码如下:
from fpdf import FPDF, HTMLMixin class PDF(FPDF, HTMLMixin): pass name = "Chris" pdf = PDF() pdf.add_page() pdf.write_html(""" <h1>我的名字 {name} 会展示在这里</h1> """.format(name=name)) pdf.output("htmlnew.pdf")
注意事项
如果HTML内容中本身包含大括号(比如内嵌CSS样式),需要将单个大括号替换为两个连续大括号进行转义,避免格式化时触发语法错误。例如原本的样式代码body { margin: 10px; }需要改写为body {{ margin: 10px; }}。
内容的提问来源于stack exchange,提问作者Chris Dav
相关产品推荐
相关产品推荐

