全站搜索

网站开发之php将html转成pdf

网站开发 439

功能需求:将产品导出成pdf手册,用于产品收藏与宣传

所用框架thinkphp3.2

所用库类Mpdf,下载地址:
https://github.com/mpdf/mpdf

将mpdf库类放入ThinkPHP\Library\Vendor\ 文件夹中

1.控制器方法

 public function pdf($id){

        $FavModel=new \Home\Model\MemberFavModel();

        $list=$FavModel->search_fav($id);/获取数据列表

       

        
//引入类库

        Vendor(‘Mpdf.mpdf’);

        
//设置中文编码

        $mpdf=new \mPDF(‘zh-cn’,’A4′, 0, ‘宋体’, 0, 0);

        $sying=’ ‘;

        $mpdf->SetWatermarkText($sying,0.1);

        $path_root= ? ‘..’. : ‘.’.;

        $strContent = $this->bld_htm($list, $path_root);//创建html内容

        

 

         
//dump($list); 

        
//print_r($strContent);exit;

        $mpdf->showWatermarkText = true;

        $mpdf->SetHTMLHeader(”);

        $mpdf->SetHTMLFooter(” );

        $mpdf->WriteHTML($strContent);

      

        $Path=$path_root.’/Download/’.’Wish List’;

        if(!is_dir($Path)){

         mkdir(iconv(“UTF-8”, “GBK”, $Path),0777,true);

        }    

        
//保存ss.pdf文件

        $mpdf->Output($Path.’/Wish List.pdf’);

        
//直接浏览器输出pdf

        
// $mpdf->Output(‘tmp.pdf’,true);

        $mpdf->Output(‘Wish List.pdf’,’I’);
//I表示在线展示 D则显示下载 f生成后保存到服务器

        
// $mpdf->Output();

        
// exit;

   }

 

  • 创建html

 public function bld_htm($list, $path_root){

        $str=”; 

        $str.='<div style=”width: 100%; “>

        <div style=”width: 90%; margin: auto;”>

          <div style=”text-align: center; color: #000000; font-size: 20px; margin-bottom: 20px; “>

            HuaJewelry

          </div>

          <div style=”border-bottom: #999999 solid 1px; color: #fe0001; font-weight: bold; font-size: 18px; padding-bottom: 15px;”>

           Wish List

          </div>

          <ul style=”width:100%;  margin-top: 45px; padding: 0;”>’;

      

        foreach($list as $k=>$v){

            

            $class=’float: left; width: 31%; list-style: none; box-sizing: border-box; margin-right:1%; margin-bottom: 2%; text-align: center; border: #e2e2e2 solid 1px’;

            $str.='<li style=”‘.$class.'”>

            <a href=”” style=”display: block; width: 100%;”>

              <div style=”width:100%; “>

                <img src=”‘.$path_root.$v[‘picture’][0].'” style=”max-width: 100%;” />

              </div>

              <div style=”font-size: 15px; line-height: 1.7; color: #000000; padding: 15px;”>

                  ‘.$v[‘goods_no’].'<br>

                  $’.$v[‘price’].’

              </div>

            </a>

          </li>’;   

         

        }

 

        $str.=”</ul></div></div>”;

        return $str; 

   }

注意这个样式要写在行内才能有效果,不要用超出隐藏会丢失整个数据,而不是隐藏超出的部分,不知道是否是图片的关系,我用超出隐藏就会少几个产品。

前端效果:这里是将个人收藏的商品导出成为excel或者pdf,pdf可以下载预览,预览需要浏览器支持,基本上的pc浏览器都是自带插件的,手机需要安装应用或者浏览器有带插件才可以查看。

这里是直接用链接的形式带上参数跳转到方法pdf(带参数id)

如图:导出后的效果,因为这里是I 在线展示,如果需要可以设置成D下载文件。

 

 $mpdf->Output(‘Wish List.pdf’,’I’);
//I表示在线展示 D则显示下载

 

 

 

 

上一篇: 下一篇:

相关推荐

  • 网站设计中使用偶像元素10条禁忌

    381

    偶像,包括明星、英雄、强势角色等等,此类形象,具有较为强势的号召力,也是网站设计中,设计师喜欢使用的元素一种。根据我们的网站设计经验,使用此类元素应该注意如下10条。   1.过于泛化的设计:可能犯的最常见的错误就是提出了太多的通用设计。如果偶像形...

    查看全文
  • 5G时代,多媒体的变化,设计该如何把握大时代的发展模式

    331

    随着5G时代的到来,我们的生活也越来越讲究效率和高效。如果说4G是一个颠覆性的概念,那么5G将会是个革命性的发展,这不仅仅会给我们生活更多惊喜和挑战追求,更会在我们工作上带来更多变化。那在这样快餐时代,我们要怎样是展示信息内容给群众用户更容易去接受?继...

    查看全文
  • 网站内容如何创新可以提升排名

    299

      一般来说,在网站优化排名过程中网站的内容会起到了核心的作用,为了能够更好的提高排名,还是要在内容更新方面有着创新的特点,带来的关注度上就会越来越高的。那么,哪些创新的内容才会吸引更多用户访问呢?      一,撰写的文章内容要便于用...

    查看全文
  • 什么是建站的下沉市场?如何做?

    380

    不知从何时起,下沉市场成为了互联网公司开发的重点。我们大致观察了一番——几乎每一个领域的互联网领域,都有针对下沉市场而开发的互联网产品。例如浏览器领域,近期今日头条推出的“悟空浏览器”;至于电商领域,对下沉市场的争夺,就更为激烈,各电商类应用的“快速版...

    查看全文
展开更多