dollars0427 / invoice
Simple Php Class For Beautiful Invoices
v1.0
2019-05-08 13:57 UTC
Requires
- php: ^7.0.0
This package is auto-updated.
Last update: 2025-05-29 01:47:27 UTC
README
只需几行代码即可生成设计精美的报价单或订单。使用您自己的徽标和主题颜色进行品牌化,使用自动分页添加无限制的项目和总行数。您可以在用户的浏览器中传送PDF输出,保存在服务器上或强制下载文件 Invoice内置了中文简体、中文繁体、英语的翻译,您可以设置每个文档所需的货币。
项目已集成 思源黑体(Source Han Sans)中文版
安装Invoice
Invoice利用Composer来管理其依赖关系。 因此,在使用Invoice之前,请确保在您的计算机上安装了Composer
composer require invoice/invoice
演示
货币
文档
实例
use Invoice\Invoice; $invoice=new Invoice();
or
$invoice=get_invoice();
例
$invoice = new Invoice('CNY','A4'); //Set number formatting $invoice->setNumberFormat('.',',') //设置字体 //->setFontFamily('SourceHanSans', '', '~/font/sourcehansans.ttf') //->setFontFamily('SourceHanSans','b', '~/font/sourcehansansb.ttf') //设置LOGO ->setLogo("images/apple.png",100,88) //设置颜色 ->setColor("#ed4014") //设置要文档类型 ->setType("报价表") //设置文档编号 ->setReference(date('Ymd').'001') //报价日期 ->setDate(date('Y-m-d')) //截止日期 ->setDue(date('Y-m-d',strtotime('+3 months'))) //报价人 ->setFrom(["Apple Inc","1 Infinite Loop","Cupertino, CA 95014","United States of America","IE9700053D"]) //客户 ->setTo(["京东商城 刘强东","北京市","北京经济技术开发区科创","十四街99号2号楼B168室","400-6065500 "]) //新增产品 ->addItem("Apple iPhone X","64G 红色",1,"21%",299,'5%',284.05) ->addItem("Apple iPhone X","158G 红色",1,"21%",299,0,299) //增加合计 ->addTotal("合计",583.05) ->addTotal("折扣 21%",122.44) ->addTotal("总计",705.5,true) //增加李老师 ->addTitle("声明") //添加段落 ->addParagraph("只需几行代码即可生成设计精美的报价单或订单\nInvoice利用Composer来管理其依赖关系。 因此,在使用Invoice之前,请确保在您的计算机上安装了Composer\ncomposer require invoice/invoice") //设置页脚 ->setFooternote("http://www.apple.com") //设置徽章 ->addBadge('A级机密') //切换公司信息和客户信息的水平位置 ->flipflop() //交付PDF ->render('Apple.pdf','I');
类说明
/** * 实例 * @param string $currency * 货币代码 * @param string $size * 纸张大小 A4 Letter Legal * @param string $language * 语言 */ function __construct($currency = 'CNY', $size = 'A4', $language = 'zh'); /** * 获取货币符号 * * @param string $code * 货币代码 * @return string|null */ public function getCurrencySymbol(string $code); /** * 判断货币是否可用 * * @param string $code * 货币代码 * @return bool */ public function hasCurrency(string $code); /** * 设置字体 * * @param string $family * 字体名称 * @param string $style * 字体样式 至少包含两种字体样式 ''和'b' * @param string $file * 字体文件 * @return $this */ public function setFontFamily(string $family, string $style = '', string $file = ''); /** * 设置语言 * * @param string $language * @return $this */ public function setLanguage(string $language); /** * 设置要文档类型 * * @param type $title * @return $this */ public function setType(string $title); /** * 设置颜色 * * @param string $rgbcolor * 十六进制颜色代码。红色示例:'#FF0000' * @return $this */ public function setColor(string $rgbcolor); /** * 设置文档日期 * * @param string $date * @return $this */ public function setDate(string $date); /** * 截止日期 * * @param string $date * @return $this */ public function setDue(string $date); /** * 设置logo * * @param string $logo * 要使用的图像文件的本地路径或远程URL * @param int $maxWidth * 宽度 毫米为单位 * @param int $maxHeight * 高度 毫米为单位 * @return $this */ public function setLogo($logo = 0, $maxWidth = 0, $maxHeight = 0); /** * 设置公司详细信息 * * @param array $data * @return $this */ public function setFrom(array $data); /** * 客户信息 * * @param array $data * @return $this */ public function setTo(array $data); /** * 设置文档编号 * * @param string $reference * @return $this */ public function setReference($reference); /** * 设置数字格式 * * @param string $decimals * 小数点的字符 * @param string $thousands_sep * 千位分隔符的字符 * @return $this */ public function setNumberFormat($decimals, $thousands_sep); /** * 新增商品 * * @param string $item * 产品或服务名称 * @param string $description * 描述 使用<br>或\ n添加换行符 * @param decimal $quantity * 数量 * @param decimal|string $vat * 金额 * @param decimal $price * 单价 * @param string|decimal|boolean $discount * 折扣 没有请填 false * @param int $total * 总计 * @return $this */ public function addItem($item, $description, $quantity, $vat, $price, $discount, $total); /** * 设置总计 * * @param string $name * 名称 * @param decimal $value * 值 * @param boolean $colored * 背景色 true 则背景色 * @return $this */ public function addTotal($name, $value, $colored = false); /** * 添加标题 * * @param string $title * @return $this */ public function addTitle($title); /** * 添加段落 * * @param string $paragraph * @return $this */ public function addParagraph($paragraph); /** * 添加徽章 * * @param string $badge * @return $this */ public function addBadge($badge); /** * 设置页脚 * * @param string $note * @return $this */ public function setFooternote($note); /** * 切换公司信息和客户信息的水平位置 * * @return $this */ public function flipflop(); /** * 渲染交付 * * @param string $name * 名称 * @param string $destination * 交付方式 * I(将文件内联发送到浏览器) * D(发送到浏览器并强制使用名称给出的名称下载文件) * F(保存到本地文件。确保在name参数中设置传递路径) * S(将文档作为字符串返回) * @return $this */ public function render($name = '', $destination = '');