anilsidhu / html2pdf-next
一个简单的包,可以轻松地将HTML文档转换为PDF。此包专门为Laravel设计,但您也可以在不使用Laravel的情况下使用它。
dev-master
2018-12-04 18:49 UTC
This package is auto-updated.
Last update: 2024-09-05 19:22:09 UTC
README
一个简单的包,可以轻松地将HTML文档转换为PDF。此包专门为Laravel设计,但您也可以在不使用Laravel的情况下使用它。
安装
安装wkhtmltopdf
已在以下系统上测试
- Ubuntu 14.04 x64
- Ubuntu 16.04 x64
sudo apt-get update sudo apt-get install xvfb libfontconfig wkhtmltopdf
对于Docker
RUN apt-get update && apt-get install xvfb libfontconfig wkhtmltopdf
更新Composer
composer require nahidulhasan/html2pdf
如果Laravel版本小于5.5,请将ServiceProvider添加到config/app.php中的providers数组中
NahidulHasan\Html2pdf\Html2pdfServiceProvider::class,
您可以可选地使用外观以缩短代码。将以下内容添加到您的facades中
'Pdf' => NahidulHasan\Html2pdf\Facades\Pdf::class,
基本用法
要创建PDF,请将类似以下内容添加到您的控制器中。
use NahidulHasan\Html2pdf\Facades\Pdf; $document = Pdf::generatePdf('<h1>Test</h1>');
您也可以直接调用Laravel blade文件来创建PDF。假设您在view/mails文件夹中有一个名为greeting的邮件模板,并想传递参数,那么您必须按照以下方式调用generatePdf方法
<!-- mail template stored in resources/views/mails/greeting.blade.php --> $document = Pdf::generatePdf(view('mails.greeting', ['name' => 'James', 'testVar' => 'demo']));
现在,如果您想将PDF附加到邮件中发送给客户,可以按照以下代码进行
/** * Build the message. * * @return $this */ public function build() { return $this->from('username@gmail.com') ->view('mails.demo') ->attachData($document, 'Invoice.pdf'); }
其他用法
您还可以使用以下方法
pdf::download
下载PDF文件
pdf::stream
在浏览器中打开PDF文件
在不使用Laravel的情况下运行
您可以在不使用Laravel的情况下使用此库。
示例
use NahidulHasan\Html2pdf\Pdf;
$obj = new Pdf();
$document = $obj->generatePdf('<h1>Test</h1>');
许可证
Html2PDF for Laravel是开源软件,受MIT许可证许可。