snono/pdf-builder

一个PHP类,可以从HTML生成支持Unicode/UTF-8和CJK的PDF文件

dev-master 2020-05-27 18:32 UTC

This package is not auto-updated.

Last update: 2024-09-26 16:06:18 UTC


README

为Laravel生成PDF报告(如发票、收据)

要求

  • php >= 5.4.0
  • Mpdf/Mpdf
  • illuminate/support
  • illuminate/view

使用composer安装

composer require snono/pdf-builder

发布配置

php artisan vendor:publish 

示例用法:首先您需要添加导入类ReportBuilder

use Snono\PDFBuilder\Builder\Classes\PDFBuilder;

请看下面的示例代码

$invoice = PDFBuilder::make()
            ->setTemplate('default')
            ->setData($data)  
            ->show();

配置

要更改PDFBuilder的默认配置,请更新laravel项目配置目录中的pdf.conf文件

方法

设置模板

使用setTemplate()设置Laravel的HTML模板blade,默认路径为resources/view/pdf-builder

示例
$pdf =  PDFBuilder::make()
    ->setTemplate('pdf')
    ->setData($data)
    ->show()

设置模板的CSS

使用setCssUrls()设置CSS样式表文件的URL字符串数组

示例
$pdf =  PDFBuilder::make()
    ->setCssUrls(array('https://maxcdn.bootstrap.ac.cn/bootstrap/3.3.7/css/bootstrap.min.css'))
    ->setTemplate('pdf')
    ->setData($data)
    ->show()

设置方向性

使用setDirectionality()设置语言的朝向,字符串选项为('ltr' 或 'rtl')

示例
$pdf =  PDFBuilder::make()
    ->setCssUrls(array('https://maxcdn.bootstrap.ac.cn/bootstrap/3.3.7/css/bootstrap.min.css'))
    ->setTemplate('pdf')
    ->setData($data)
    ->setDirectionality('rtl')
    ->show();

为整个文档设置页眉/页脚

使用setFooter()和/或SetHeader()在写入文档之前设置页眉/页脚,文本字符串由|分隔,将在页面的左/中/右边距设置页眉

示例
$pdf =  PDFBuilder::make()
    ->setCssUrls(array('https://maxcdn.bootstrap.ac.cn/bootstrap/3.3.7/css/bootstrap.min.css'))
    ->setTemplate('pdf')
    ->setHeader('Document Title')
    ->setFooter('Document Title|{PAGENO}|{DATE j-m-Y}')
    ->setData($data)
    ->setDirectionality('rtl')
    ->show();

从HTML字符串设置整个文档的页眉/页脚

使用setHTMLHeader()和/或setHTMLFooter()在写入文档之前设置HTML页眉/页脚。

描述

void setHTMLHeader ( string $html [, string $side [, boolean $write ]])

void setHTMLFooter ( string $html [, string $side [, boolean $write ]])

参数

$header 此参数指定页眉内容作为有效的HTML代码字符串。

默认: 空白

$side 指定是否为双面文档中的奇数页或偶数页设置页眉。

值(大小写敏感)

'O' - 为奇数页设置页眉

'E' - 为偶数页设置页眉

默认: 空白,设置'O'

$write 如果为true,它将强制立即将页眉写入当前页面。如果在添加新页面后设置页眉,请使用。

默认: 假

生成PDF文件

最终化文档并将其发送到指定的目的地,您可以使用以下方法之一

 $pdf->download($filename)

发送到浏览器并使用由$filename指定的名称强制文件下载

$pdf->show($filename) 

将文件内嵌到浏览器中。

$pdf->save( $filename) 

使用由$filename指定的名称(可能包含路径)保存到本地文件。

$result = $pdf->toString()

返回文档作为字符串。