oyswonder/html2pdf

一个简单的包,用于轻松将HTML页面生成PDF文档。此包专为Laravel设计,但您也可以在不使用Laravel的情况下使用。

维护者

详细信息

github.com/oyswonder/laravel-pdf

来源

安装: 86

依赖: 0

建议: 0

安全: 0

星星: 0

关注者: 0

分支: 14

1.5.0 2022-07-17 08:02 UTC

This package is auto-updated.

Last update: 2024-09-17 12:36:54 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

一个简单的包,用于把HTML页面生成为PDF文档。该程序包专门用于laravel,但您可以在不使用laravel的情况下使用。 此包是基于 nahidulhasan/laravel-pdf 上修改的。

安装

安装wkhtmltopdf

以下系统已测试

  • Ubuntu 18.04.3 x64
  • Windows 10 x64

wkhtmltopdf ≥ 0.12.5

官网直接下载安装包安装(推荐)

官网安装包包含qt,可以直接运行wkhtmltopdf而不需要额外安装vxfb
https://wkhtmltopdf.org/downloads.html

通过apt安装

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 oyswonder/html2pdf

如果Laravel版本<5.5,请将ServiceProvider添加到config/app.php中的providers数组中

oyswonder\Html2pdf\Html2pdfServiceProvider::class,

您可以选择将facade用于较短的代码。把这个加到你的facades上

'Pdf'  => oyswonder\Html2pdf\Facades\Pdf::class,

基本用法

要创建PDF,请向您的Controller中添加类似内容。

use oyswonder\Html2pdf\Facades\Pdf;

$document = Pdf::generatePdf('http://bantouren.com/html/table/sample.html');

下载pdf

将PDF保存到特定文件夹中的文件中,然后下载

use oyswonder\Html2pdf\Pdf;

$obj = new Pdf();

$url = 'http://bantouren.com/html/table/sample.html';

$invoice = $obj->generatePdf($url);

define('INVOICE_DIR', public_path('uploads/invoices'));

if (!is_dir(INVOICE_DIR)) {
    mkdir(INVOICE_DIR, 0755, true);
}

$outputName = str_random(10);
$pdfPath = INVOICE_DIR.'/'.$outputName.'.pdf';


File::put($pdfPath, $invoice);

$headers = [
    'Content-Type' => 'application/pdf',
    'Content-Disposition' =>  'attachment; filename="'.'filename.pdf'.'"',
];

return response()->download($pdfPath, 'filename.pdf', $headers);

其他用法

也可以使用以下方法

pdf::stream('http://bantouren.com/html/table/sample.html') 在浏览器中打开PDF文件

在不使用Laravel的情况下运行

您可以不在Laravel中使用此库。

例如

use oyswonder\Html2pdf\Pdf;

$obj = new Pdf();
$document = $obj->generatePdf('http://bantouren.com/html/table/sample.html');

许可证

Html2PDF for Laravel 是根据 MIT许可证 许可的。