php模板生成pdf,PHP生成PDF

1.PHP的PDF-API

2.使用MPDF类生成PDF的方法

mPDF是一个PHP类,它可以从UTF-8编码的HTML生成PDF文件,它基于FPDF和HTML2FPDF,并具有许多增强功能。对于语言处理和UTF-8支持,mpdf优于FPDF。对于CJK支持,它不仅支持字体嵌入,而且支持字体子集(所以您的CJK PDF不会过大)。

$config = [

// 支持中文设置

"autoScriptToLang" => true,

// 支持中文设置(中文乱码时,设置为true)

"autoLangToFont" => true,

"setAutoTopMargin" => "stretch",

"setAutoBottomMargin" => "stretch",

"autoMarginPadding" => 5,

"margin_left" => 5,

"margin_right" => 5

];

$mpdf = new \Mpdf\Mpdf($config);

// 设置页眉和页脚

$mpdf->SetHTMLHeader($header);

$mpdf->SetHTMLFooter($footer);

// 分两列写入

$mpdf->SetColumns(2);

$mpdf->WriteHTML($html);

// I'表示在线展示 'D'则显示下载窗口 'F'保存本地文件

$mpdf->Output('PDF的名称.pdf', 'I');

3.MPDF自定义字体

namespace App\Http\Controllers;

use Mpdf\Mpdf;

use Mpdf\Config\FontVariables;

use Mpdf\Config\ConfigVariables;

class ExampleController extends Controller

{

public function readPDF()

{

// 字体文字所在目录

$defaultConfig = (new ConfigVariables())->getDefaults();

$fontDirs = $defaultConfig['fontDir'];

// 配置的字体

$defaultFontConfig = (new FontVariables())->getDefaults();

$fontData = $defaultFontConfig['fontdata'];

$mpdf = new Mpdf([

// 配置自定义字体,“lt-liti”只能是小写,不然乱码

'fontdata' => $fontData + [

'st-liti' => [

'R' => '华文隶书.TTF',

]

],

'default_font' => 'st-liti',

// 设置下面两个值为false,方能启用自定义字体

"autoScriptToLang"=>false,

"autoLangToFont"=>false,

"setAutoTopMargin"=>"stretch",

"setAutoBottomMargin"=>"stretch",

"autoMarginPadding"=>5,

"margin_left" => 5,

"margin_right" => 5

]);

4.MPDF相关文档

你可能感兴趣的:(php模板生成pdf)