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

Latest Stable Version Total Downloads Latest Unstable Version License

一个简单的包,可以轻松地将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许可证许可。