copainfo/invoice-module

一个用于生成发票的模块

V1.1.0 2023-05-17 17:33 UTC

This package is auto-updated.

Last update: 2024-09-30 01:57:35 UTC


README

InvoiceModule 是一个 PDF 格式的发票生成器。

此生成器使用 php 8.1

它依赖于库 Html2Pdf,该库可以将 HTML 4.01 代码转换为 PDF。

所需配置

InvoiceModule 需要 PHP >8.1 和 Composer。

您还需要至少以下 PHP 扩展

  • gd
  • mbstring

安装

您必须使用 Composer 来安装 InvoiceModule。

如果您不知道 Composer 是什么

composer require copainfo/invoice-module

使用方法

为了自定义发票,您需要进行以下两个修改

示例

模板

一个示例模板在此处可用: 模板

此模板生成的无参数发票类似于此文件: Pdf

接口

一个示例接口在此处可用: 接口

此接口生成的发票类似于此文件: Pdf

使用方法

使用示例接口的示例。

$detail = new DetailsTableExemple(); // On crée un Objet Qui implement l'interface
$builder = new InvoiceBuilder($detail); // On crée un invoiceBuilder
$detail->setProductList([ // On ajoute des produits au tableau des produits
    [
        "product"=>"Product 1",
        "description"=>"first Product",
        "PUHT"=>100,
        "TVA"=>20,
        "quantity"=>2,
        ],
    [
        "product"=>"Product 2",
        "description"=>"next Product",
        "PUHT"=>100,
        "TVA"=>20,
        "quantity"=>2,
    ]
]);
$builder->setInvoiceInfo("1", "Test", new DateTime());  // On donne les informations de la facture
$builder->setIssuerInfo( // On donne les informations de l'entreprise
    "Nom de l'entreprise",
    "25 rue de l'adresse ",
    "65214 VilleIci",
    "06 06 06 06 06",
    "900 367 004 00653",
    "SARL",
    "1000 €",
    "VilleIci",
    "900 367 004 00653",
    "900 367 004 00653"
);
$builder->setCustomerInfo(// On donne les informations du client
    "Nom du client",
    "65 rue de l'adresse",
    "65214 VilleIci",
    "06 06 06 06 06",
    "mail@mail.com",
);
$invoicePdf = $builder->getInvoice( // Ici, on crée la facture 
                        "TestTemplate", // avec le template : TestTemplate.
                        ["LOGOSRC" => "./logo.png"]  // on donne les valeurs des paramètres personnalisés 
                        );

getInvoice 函数方法返回 PDF 文件的内容。