快乐学习
前程无忧、中华英才非你莫属!

python通过模版生成发票

要使用Jinja2模板引擎生成个性化文档并自动保存为PDF格式,你可以按照以下步骤进行:

1. 安装所需库

首先,确保安装了必要的库,包括 Jinja2WeasyPrint(用于生成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格式。需要更多功能或其他问题,随时告诉我!

打赏
赞(0) 打赏
未经允许不得转载:同乐学堂 » python通过模版生成发票

特别的技术,给特别的你!

联系QQ:1071235258QQ群:710045715

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

error: Sorry,暂时内容不可复制!