下载pdf文件,原生及yii框架

php生成PDF最好的类MPDF

mpdf的官方下载地址:http://www.mpdf1.com/mpdf/download

下载后里面有实例,可以参照着做一个就知道了.当然官方网站也有实例,网址:http://mpdf1.com/common/mpdf/examples/

官方提供的文档:http://mpdf1.com/manual/

<?php
/*
*功能:生成用户诊断报告PDF文件
*创建时间:2013-09-12
*/
//phpinfo();exit;
//引入MPDF类文件
set_time_limit(0);
include '/include/MPDF57/mpdf.php';
 
//实例化mpdf
$mpdf=new mPDF('utf-8','A4','','宋体',0,0,20,10);
 
//设置字体,解决中文乱码
$mpdf->useAdobeCJK = true;
$mpdf->SetAutoFont(AUTOFONT_ALL);
 
//获取要生成的静态文件
$html=file_get_contents('template.html');
 
echo $html;exit;
 
//设置PDF页眉内容
$header='<table width="95%" style="margin:0 auto;border-bottom: 1px solid #4F81BD; vertical-align: middle; font-family:
serif; font-size: 9pt; color: #000088;"><tr>
<td width="10%"></td>
<td width="80%" align="center" style="font-size:16px;color:#A0A0A0">页眉</td>
<td width="10%" style="text-align: right;"></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="10%"></td>
<td width="80%" align="center" style="font-size:14px;color:#A0A0A0">页脚</td>
<td width="10%" style="text-align: left;">页码:{PAGENO}/{nb}</td>
</tr></table>';
 
//添加页眉和页脚到pdf中
$mpdf->SetHTMLHeader($header);
$mpdf->SetHTMLFooter($footer);
 
//设置pdf显示方式
$mpdf->SetDisplayMode('fullpage');
 
//设置pdf的尺寸为270mm*397mm
//$mpdf->WriteHTML('<pagebreak sheet-size="270mm 397mm" />');
 
//创建pdf文件
$mpdf->WriteHTML($html);
 
//删除pdf第一页(由于设置pdf尺寸导致多出了一页)
//$mpdf->DeletePages(1,1);
 
//输出pdf
$mpdf->Output();
 
exit;
 
?>

------------------------------------------------------------------------------- 

---------------------------------------------------------------------------
yii框架
yii框架加入类文件,(如mpdf)先把类文件放入common

文件夹下,再在config下配置bootstrap.php,加入
Yii::$classMap['mpdf']='@common/mpdf/mpdf.php';
就可以采用以下方法调用类
use mPDF;   直接实例化类
<?php
namespace backend\controllers;

use Yii;
use yii\web\Controller;
use mPDF;

/**
 * Pdf控制器
 */
class PdfController extends Controller
{
     public function actionIndex(){
       //  $mpdf=yii::$app->mpdf;
         //实例化mpdf
        $mpdf=new mPDF();

        $mpdf->useAdobeCJK = true;

        $mpdf->SetDisplayMode('fullpage');
        $mpdf->watermark_font = 'GB';
        $mpdf->SetWatermarkText('中国水印',0.1);
        $mpdf->WriteHTML(file_get_contents('http://localhost/php93/rikaogaoji/backend/web'));
         //下载
         //yii::$app->response->setDownloadHeaders("yii login");
         //输出、下载(D为pdf类封装好的下载方法)
        return $mpdf->Output('yii login','D');

        exit;

     }
    public function actionPdf(){
        //实例化mpdf
        $mpdf=new mPDF();
        //获取文件,写入pdf
        $mpdf->WriteHTML(file_get_contents('http://localhost/php93/rikaogaoji/backend/web'));
       // 打开输出缓冲区,所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。
        ob_start();
        $mpdf->Output();
        //得到当前缓冲区的内容并删除当前输出缓冲区。
        $html=ob_get_clean();
        yii::$app->response->sendContentAsFile($html,'yii login.pdf');
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值