如何修改FPDF的output输出,根据用户输入动态更改PDF文件名?
解决FPDF动态设置PDF文件名的问题
- 你代码里的语法错误是因为变量和字符串直接连写不符合Python语法规则,正确的文件名组合方式有两种:
- 用
+运算符拼接字符串:
注意删除原代码中pdf.output(client_name + ".pdf").pdf后的空格,避免生成带空格的异常文件名。 - 用f-string格式化(Python 3.6及以上版本推荐,代码更简洁):
pdf.output(f"{client_name}.pdf")
- 用
- 额外提醒:
client_name如果包含系统禁止的文件名字符(比如/、\、:、*等),会导致保存失败,建议提前处理:# 将非法字符替换为下划线,确保文件名合法 safe_client_name = client_name.replace('/', '_').replace('\\', '_').replace(':', '_').replace('*', '_') pdf.output(f"{safe_client_name}.pdf")
内容的提问来源于stack exchange,提问作者Christina Tauauvea
相关产品推荐
相关产品推荐

