PHP,将html转为pdf(ThinkPHP框架)

来源:互联网 发布:网络攻击防御软件 编辑:程序博客网 时间:2024/06/05 09:32

1.下载一个mpdf类包

2.放到根目录下面的 ThinkPHP下面的 Library下面的 Vendor下

3.前台,用hidden隐藏表单,传值

代码如下:

<form action="{:U('Index/pdf')}" method="post">
                  <input type="hidden" name="html" value="{:U('
当前控制器/当前页面方法',array('id'=>$info['id']))}">

<!--这个value为了取当前页面的url,所以是当前页面的控制器/方法-->

                  <div class=""><input type="submit" value="下载"></div>
        </form>

4.在控制器里写代码。

代码如下:

     public function pdf(){
        //引入类库
       if(IS_POST){ 
        Vendor('mpdf.mpdf');
        //设置中文编码
        $mpdf=new \mPDF('zh-cn','A4', 0, '宋体', 0, 0);
        //html内容
            $url='http://'.$_SERVER['HTTP_HOST'].$_POST['html'];
            $html=file_get_contents($url);   
            preg_match_all('~<div class="n_d_l left"[^>]*?>([\s\S]*?)<div class="xzbg">~', $html, $newhtml);
            $mpdf->WriteHTML($newhtml[1][0]);
            $mpdf->Output();
            exit;
        }        
    }

5.注意:preg_match_all 里正则可以判断要取的div范围,从哪到哪。第二个变量是file_get_contents读取的内容。第三个变量是生成的变量,给他起个名,如果报错,可以用pring_r(); 打印他。

原创粉丝点击