下载 Python 安装程序:

访问 Python 官方网站,然后点击 "Downloads" 标签。选择最新版本的 Python(通常是顶部的版本),然后选择适合你操作系统的安装程序。如果你使用的是 Windows,可能会有一个 "Windows Installer" 或 "Executable Installer" 的选项。如果是 macOS 或 Linux,可以选择相应的安装包。

运行安装程序:

下载安装程序后,运行它。在 Windows 上,通常会有一个选项可以将 Python 添加到系统 PATH 中,确保你选中了这个选项。在 macOS 和 Linux 上,默认情况下通常已经添加到 PATH 中了。

完成安装:

完成上述步骤后,点击 "Install Now"(或相应的按钮)来完成安装。安装程序将会下载并安装 Python。

验证安装:

打开一个新的命令行窗口或终端,并输入以下命令来验证 Python 是否成功安装:

python --version

第二步是安装脚本中使用的库。在你的命令行或终端中运行以下命令来安装所需的库:

pip install pandas

如果你希望将 pip 更新到最新版本,可以运行以下命令:

python.exe -m pip install --upgrade pip

创建一个Python脚本,比如 generate_invoices.py:

    import os
    import pandas as pd
    from PIL import Image, ImageDraw, ImageFont

    # 发票模板图片路径
    template_path = 'C:\\Users\\用户\\Documents\\发票模板.png' 

    # 发票保存目录
    invoice_dir = 'C:\\Users\\用户\\Documents\\invoices'

    # 读取CSV数据
    df = pd.read_csv('exported_orders.csv')  

    # 设置字体
    font = ImageFont.truetype('C:\\Users\\用户\\Documents\\字体名.ttc', 15)

    # 遍历每一行订单数据
    for index, row in df.iterrows():

    # 打开发票模板图
    template = Image.open(template_path)

    # 初始化 ImageDraw 
    draw = ImageDraw.Draw(template)

    # CreatedAt
    draw.text((692, 67), str(row['CreatedAt']), font=font, fill='black')

    # UpdatedAt
    draw.text((692, 91), str(row['UpdatedAt']), font=font, fill='black')
    
    # ID
    draw.text((73, 334), str(row['ID']), font=font, fill='black')

    # OrderSN
    draw.text((113, 365), str(row['OrderSN']), font=font, fill='black')

    # 其他发票项
    draw.text((73, 334), str(row['ID']), font=font, fill='black') 
    draw.text((113, 365), str(row['OrderSN']), font=font, fill='black')
    draw.text((94, 425), str(row['Email']), font=font, fill='black')
    draw.text((118, 455), str(row['TradeNo']), font=font, fill='black')
    draw.text((116, 392), str(row['GoodsID']), font=font, fill='black')
    draw.text((535, 365), str(row['CouponID']), font=font, fill='black')
    draw.text((508, 397), str(row['BuyIP']), font=font, fill='black')
    draw.text((508, 425), str(row['Status']), font=font, fill='black')
    draw.text((37, 566), str(row['Title']), font=font, fill='black')
    draw.text((514, 566), str(row['BuyAmount']), font=font, fill='black')
    draw.text((656, 566), str(row['GoodsPrice']), font=font, fill='black')
    draw.text((778, 566), str(row['TotalPrice']), font=font, fill='black')
    draw.text((94, 652), str(row['Info']), font=font, fill='black')
    draw.text((115, 731), str(row['TradeNo']), font=font, fill='black') 
    draw.text((766, 797), str(row['ActualPrice']), font=font, fill='black')

    # 拼接发票文件名
    invoice_name = 'invoice_'+str(row['ID'])+'.png'  

    # 拼接发票路径
    invoice_path = os.path.join(invoice_dir, invoice_name)

    # 保存发票
    template.save(invoice_path)  

print('发票生成完成!')

将目录路径文件名替换成你的
设计好发票的模板
坐标替换成你的
以及csv里的项替换成你的
在cmd里运行

python generate_invoices.py

及可生成csv全部订单的发票

Last modification:November 29th, 2023 at 02:04 pm