首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter -视图快照-生成PDF

问Codeigniter -视图快照-生成PDF
EN

Stack Overflow用户
提问于 2012-11-06 22:39:41
回答 1查看 2.3K关注 0票数 2

我想创建一个基于一个视图的pdf,由Codeigniter生成。然而,这个视图有很多带样式的元素,以及与之相关的媒体查询,所以呈现的pdf与期望的最终文档完全不一致。

完成这个任务的最好方法是什么?现在我使用的是mPDF。有没有办法拍摄视图的快照,然后用它生成pdf,这样相关的样式就可以正确地呈现在文档上?

现在,我的代码如下所示

代码语言:javascript
复制
public function generatePDF()
    {
        $this->session_expire();
    $this->load->helper('url');
    $user_id=$this->session->userdata('user_id');
    $this->user_model=$this->db_interface->db_get_user($user_id);
    //  $this->load->helper('url');


        //echo('error aki <br />');
        $data['user'] = $this->user_model;
        $data['objective'] = $this->db_interface->db_get_objectives($this->user_model->get_id());
        $data['list_work'] = $this->db_interface->db_get_list_work_experience($this->user_model->get_id());
        $data['list_education'] = $this->db_interface->db_get_list_education($this->user_model->get_id());
        $data['list_skills'] = $this->db_interface->db_get_skills($this->user_model->get_id());
        $data['list_personal'] = $this->db_interface->db_get_personal_skills($this->user_model->get_id());
        $data['list_links'] = $this->db_interface->get_user_links($this->user_model->get_id());


        $html = $this->load->view('display_user',$data,TRUE);
        //$html = $this->load->view('display_user',$data,TRUE);
       // $this->load->view('display_user',  $html);
        $this->mpdf->WriteHTML($html);
        $this->mpdf->Output();

    }

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-07 00:13:45

简而言之:差不多吧。

长篇答案:你有两个选择。您可以a)截取屏幕截图(请参阅Website screenshots using PHP );或者b)您可以创建一个自定义样式表进行打印。

后者可能更容易做到。就CSS而言,您所使用的库的功能是有限制的,因此请阅读:http://www.mpdf1.com/mpdf/enhancements

最好的办法可能是为屏幕和打印创建单独的样式表:

代码语言:javascript
复制
<link rel="stylesheet" href="screen.css" type="text/css" media="screen">

用于查看,以及

代码语言:javascript
复制
<link rel="stylesheet" href="print.css" type="text/css" media="print">

用于打印。

设计print.css的样式以使其看起来更好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13253316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档