要使用Jinja2模板引擎生成个性化文档并自动保存为PDF格式,你可以按照以下步骤进行:
1. 安装所需库
首先,确保安装了必要的库,包括 Jinja2
和 WeasyPrint
(用于生成PDF)。
pip install Jinja2 WeasyPrint
2. 创建模板文件
在项目目录下创建一个模板文件,例如 invoice_template.html
。这个文件将包含HTML格式的文档结构。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>发票</title>
<style>
body { font-family: Arial, sans-serif; }
.invoice { margin: 20px; }
</style>
</head>
<body>
<div class="invoice">
<h1>发票</h1>
<p>客户姓名: {{ customer_name }}</p>
<p>发票日期: {{ invoice_date }}</p>
<p>金额: {{ amount }} 元</p>
<p>描述: {{ description }}</p>
</div>
</body>
</html>
3. 编写生成文档的脚本
创建一个Python脚本来处理用户输入数据,生成文档并保存为PDF。
from jinja2 import Environment, FileSystemLoader
from weasyprint import HTML
def generate_invoice(data):
# 设置Jinja2模板环境
env = Environment(loader=FileSystemLoader('.'))
template = env.get_template('invoice_template.html')
# 渲染模板
rendered_html = template.render(data)
# 保存为PDF
HTML(string=rendered_html).write_pdf('invoice.pdf')
if __name__ == "__main__":
# 示例用户输入数据
invoice_data = {
'customer_name': '张三',
'invoice_date': '2024-09-20',
'amount': '1000',
'description': '服务费用'
}
generate_invoice(invoice_data)
4. 运行脚本
运行上述Python脚本,生成的PDF文件将保存在当前目录下,命名为 invoice.pdf
。
5. 自定义和扩展
你可以根据需要修改模板和数据结构,支持更多个性化信息,比如添加图标、公司名称、条款等内容。
这样,你就可以根据用户输入生成个性化的文档并保存为PDF格式。需要更多功能或其他问题,随时告诉我!