Skip to content

A Simple package for easily generating PDF documents from HTML. This package is specially for laravel but you can use this without laravel.

Notifications You must be signed in to change notification settings

oyswonder/laravel-pdf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Laravel-Html2Pdf

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

For docker

RUN apt-get update && apt-get install xvfb libfontconfig wkhtmltopdf

Upddate 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);

Other Usage

也可以使用以下方法 :

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

Running without Laravel

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

例如:

use oyswonder\Html2pdf\Pdf;

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

License

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

About

A Simple package for easily generating PDF documents from HTML. This package is specially for laravel but you can use this without laravel.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%