安装:

composer require mpdf/mpdf

使用:

use Mpdf\Mpdf;//(php7以前)

        //获取页面内容
$res = $this->controller->render('tb-plan/clonePdf', [
'cms_intro'=>$cms_intro,
'corp_name'=>$corp_name,
'order'=>$order,
'intro'=>$intro,
'cmsDaily'=>$val,
'priceConf'=>$priceConf,
'people'=>$people
]);
$mpdf=new Mpdf(['zh-CN','A4','','',23,23,40,'setAutoTopMargin' => 'stretch']);
//设置中文字符集
$mpdf->useAdobeCJK = true;
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true; //设置PDF页眉内容
$header='<table width="95%" style="margin:0 auto; vertical-align: middle; font-family:
serif; font-size: 9pt; color: #000088;"><tr>
<td width="10%"><img src="//i0.h34n32i1u.cn/a123/123/pdfLogo.jpg" alt="" width="30%"></td>
<td width="40%" align="center"></td>
<td width="50%" style="text-align: right;font-size: 20px;color: #1a1a1a;">订单ID:'.$order_id.'</td>
</tr></table>';
//设置PDF页脚内容
$footer='<table width="100%" style=" vertical-align: bottom; font-family:
serif; font-size: 9pt; color: #000088;"><tr style="height:30px"></tr><tr>
<td width="48%" style="font-size:14px;color:#A0A0A0">ADD:上海市联航路1688弄</td>
<td width="4%" align="center"></td>
<td width="48%" style="text-align: right;font-size:14px;color:#A0A0A0">TEL:0000-000-000</td>
</tr></table>'; //添加页眉和页脚到pdf中
$mpdf->SetHTMLHeader($header);
$mpdf->SetHTMLFooter($footer);
//设置pdf显示方式
$mpdf->SetDisplayMode('fullpage');
//设置水印
$mpdf->SetWatermarkImage('//i0.hiniu.cn/a3/180121/Watermark.png',1,'F');
$mpdf->showWatermarkImage = true; //加载css
$style1=file_get_contents(Html::loadFile('tj-pc-3.0/dist/all.min.css'));
$style2=file_get_contents(Html::loadFile('vendor/bootstrap/2.3.2/css/bootstrap.min.css'));
$mpdf->WriteHTML($style1,1);
$mpdf->WriteHTML($style2,1);
//写入数据
$mpdf->WriteHTML($res);
$userName=$admin->real_name;
unset($res);
// 记录修改历史
AdminLogDataOperate::add('用户【'.$userName.'】为【'.$corp_name.'】生成PDF', '系统', AdminLog::TYPE_ORDER_PDF, $order_id, AdminLog::ID2_T1);
AdminLogDataOperate::add('用户【'.$userName.'】为【'.$corp_name.'】生成PDF', 'now_admin', AdminLog::TYPE_ORDER_PDF, $order_id, AdminLog::ID2_T2);
$fileName=date('YmdHis',time()).'.pdf';
//下载pdf
$mpdf->Output($fileName,'D');
<?php

require_once __DIR__ . '/vendor/autoload.php';//(php7)

$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();//$mpdf->Output('php://output');
require_once Yii::getAlias('@vendor/mpdf/autoload.php');
header('Content-Type: application/pdf'); // PDF文件
header('Content-Transfer-Encoding: binary');
header('Cache-Control: max-age=1');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: cache, must-revalidate');
header('Pragma: public');
header('Content-Disposition: attachment; filename=' . $title . '.pdf'); //指定文件名称
header("Expires: 0");
$mpdf = new \Mpdf\Mpdf();
$mpdf->SetDisplayMode('fullpage');
$mpdf->SetWatermarkImage($url,1,'F');
$mpdf->showWatermarkImage = true;
$mpdf->Output('php://output');

PHP yii2.0框架利用mpdf导出pdf的更多相关文章

  1. 在 yii2.0 框架中封装导出html 表格样式 Excel 类

    在 vendor/yiisoft/yii2/helpers/ 创建一个 Excel.php <?php namespace yii\helpers;   class Excel{         ...

  2. yii2.0框架安装心得

    yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到co ...

  3. 8.Yii2.0框架控制器接收get.post数据

    8.Yii2.0框架控制器接收get.post数据 一.get传参 <?php /** * Created by Haima. * Author:Haima * QQ:228654416 * D ...

  4. 利用FR导出PDF汉字乱码的处理

    利用FR导出pdf,然后在unigui中显示,发现汉字乱码,改成gb2312,不乱码,但不自动折行,最后是改成DefaultCharSet搞定.FR版本:5.4.6 后记:有的浏览器中还是乱码,把字体 ...

  5. 利用ITextSharp导出PDF文件

    最近项目中需要到处PDF文件,最后上网搜索了一下,发现ITextSharp比较好用,所以做了一个例子: public string ExportPDF() { //ITextSharp Usage / ...

  6. java利用itext导出pdf

    项目中有一功能是导出历史记录,可以导出pdf和excel,这里先说导出pdf.在网上查可以用那些方式导出pdf,用itext比较多广泛. 导出pdf可以使用两种方式,一是可以根据已有的pdf模板,进行 ...

  7. 利用itext导出PDF的小例子

    我这边使用的jar包: itext-2.1.7.jar itextasian-1.5.2.jar 代码,简单的小例子,导出pdf: PdfService.java: package com.cy.se ...

  8. Itext2.0.8 和freemarker导出pdf

    这个是跟上一篇写的freemarker导出word是一块的.但是关联性不是很大.由于本人技术有限本篇导出也是根据网上大家的做出的demo混合而成.有不足的地方请大家指出.好改正,使以后看到的freem ...

  9. C# 利用ITextSharp导出PDF文件

    最近项目中需要导出PDF文件,最后上网搜索了一下,发现ITextSharp比较好用,所以做了一个例子: public string ExportPDF() { //ITextSharp Usage / ...

随机推荐

  1. 工作中常用的Git操作

    粘贴自:微信公众号:程序员共成长 分支操作: git branch 创建分支 git branch -b 创建并切换到新建的分支上 git checkout 切换分支 git branch 查看分支列 ...

  2. 转:SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用

    原文链接:https://blog.csdn.net/evanxuhe/article/details/78650979 为了统一异常,我们通常定义一个统一管理所有Exception,包括自定义Exc ...

  3. ftp定时下载指定目录或文件脚本

    #! /bin/bash rpm -qa lftp &>/dev/null || yum install -y lftp lftp 160.106.0.34 << EOF c ...

  4. 题解 [BZOJ1832][AHOI2008] 聚会

    题面 解析 首先对于其中的两个点\(x,y\)最近的点显然就是他们的\(lca\)(我们把它设为\(p1\)), 然后考虑第三个点\(z\)与\(p1\)的\(lca,p2\). 有以下几种情况: \ ...

  5. ES集群安装

    环境配置 安装openjdk(依赖) -openjdk.x86_64 安装elasticsearch yum -y install elasticsearch 配置 /etc/elasticsearc ...

  6. Python IDE Ⅱ

    3.设置Pydev 安装完成后,还需要设置一下PyDev,选择Window -> Preferences来设置PyDev.设置Python的路径,从Pydev的Interpreter - Pyt ...

  7. idea 高效找出全部未被使用的代码

    不得不说 idea 真的很强大,认真花一些时间,好好研究研究 idea 可以让你编写代码更加的高效,并且 idea 时不时会给你一些惊喜的,比如今天要分享的这个,就非常的惊喜: 背景 前几天,忽然又一 ...

  8. java.util.Stack

    import java.util.Stack; public class Test { public static void main(String[] args) { Stack stack = n ...

  9. 桥接模式(Bridge)---结构型

    1 基础知识 定义:将抽象部分与它的具体实现部分分离,使得它们都可以独立变化.特征:通过组合的方式建立两个之间的联系而不是继承. 使用场景:抽象和具体实现之间增加更多的灵活性:一个类存在两个(多个)独 ...

  10. springbootdruidmybatismysql多数据源事务管理

    springboot+druid+mybatis+mysql+多数据源事务管理 分布式事务在java中的解决方案就是JTA(即Java Transaction API):springboot官方提供了 ...