如何在codeigniter中使用mpdf?

Posted

技术标签:

【中文标题】如何在codeigniter中使用mpdf?【英文标题】:How to use mpdf in codeigniter? 【发布时间】:2017-11-18 07:01:34 【问题描述】:

控制器:函数 pdf_question()

public function pdf_question()

    $data = [];
    $pdfFilePath = "output_pdf_name.pdf";
    $this->load->library('m_pdf');
    $this->m_pdf->pdf->Writehtml($this->load->view('pdf-question'));
    $this->m_pdf->pdf->Output($pdfFilePath, "D");  

查看:

<html>
<head>
</head>
<body>
    <div class="container">
        <div class="col-lg-12" style="background:#38558a;">
            <h3 style="color:#ff7900;"><b>Quiz Questions</b></h3>
            <hr>
        </div>
        <div class="row">
            <div class="col-md-12">
            <br/> 
                <div class="login-panel panel panel-default">
                    <div class="panel-body"> 
                        <a href="javascript:void(0)" class="btn btn-danger" style="float:right;" id="pdf">PDF</a>
                        <div class="col-lg-12" id="target">
                            <?php
                                $this->db->select('*');
                                $this->db->from('qbank');
                                $query = $this->db->get();
                                $result = $query->result_array();
                                foreach($result as $row)
                                
                                    $qid = $row['qid'];
                                    $question = $row['question'];
                            ?>
                                    <div class="col-div-container">
                                        <table class="bix-tbl-container"  cellspacing="0" cellpadding="0" border="0">
                                            <tbody>
                                                <tr>
                                                    <td rowspan="2" valign="top" align="left"><?php echo $qid; ?>.&nbsp;</td>
                                                    <td valign="top"><p><?php echo $question; ?></p></td>
                                                </tr>

                                                <tr>
                                                    <td valign="top">
                                                        <table  cellspacing="0" cellpadding="0" border="0" style="line-height: 1.7;">
                                                            <tbody>
                                                                <?php 
                                                                    $this->db->select('*');
                                                                    $this->db->from('options');
                                                                    $where = "qid = '$qid'";
                                                                    $this->db->where($where);
                                                                    $sql = $this->db->get();
                                                                    //echo $this->db->last_query();
                                                                    $res = $sql->result_array();
                                                                    foreach($res as $rows)
                                                                    
                                                                        $option = $rows['q_option']; 
                                                                ?>
                                                                <tr>
                                                                    <ol style="list-style-type: upper-alpha;">
                                                                        <td >
                                                                            <li><a href="javascript:void(0)"><input type="radio" name="radio_btn"></a></li>
                                                                        </td>
                                                                    </ol>
                                                                    <td ><?php echo $option; ?></td>
                                                                </tr>
                                                                <?php
                                                                    
                                                                ?>
                                                            </tbody>
                                                        </table>
                                                    </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </div>
                                    <hr/>
                            <?php
                                
                            ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

在这段代码中,我创建了一个名为 pdf-question.php 的视图文件,现在我想将这些问题导出为 pdf 格式,为此我正在使用 mpdf codeigniter,我在第三方中加载了 M_pdf.php 库和 mpdf但它不工作它向我显示一个错误,即

HTML contains invalid UTF-8 character(s)
mPDF error:

那么,我该如何解决这个问题?请帮助我。

谢谢

【问题讨论】:

如果您没有找到解决方案,请来chat 我有解决方案@Fairy Dancer :) 这是解决方案 $html = $this->load->view('pdf-question',$data,true); 【参考方案1】:

对您的 pdf_question 函数进行简单的更改。

$html=$this->load->view('pdf-question', $data,true);
$this->m_pdf->pdf->WriteHTML($html);

【讨论】:

【参考方案2】:

在自动加载集成后,您将在您的函数上使用 Mpdf

        public function pdf_question()
                $pdfFilePath = "output_pdf_name.pdf";
                $this->load->library('mpdf');
                $mpdf = new mPDF('bn', 'Legal');
                $mpdf->SetImportUse();
                $mpdf->AddPage('L');
                $html = $this->load->view('ViwewFileLocation', $data,true); 
                $mpdf->WriteHTML($html);
                $mpdf->Output($pdfFilePath, "D");
                 

【讨论】:

以上是关于如何在codeigniter中使用mpdf?的主要内容,如果未能解决你的问题,请参考以下文章

在 codeigniter 中使用 MPDF 设置格式视图导出 PDF

使用 mPDF 错误在 codeigniter 3 中将 html 导出并下载为 pdf 错误:找不到类“Mpdf\Mpdf”

MPDF PAGENO在codeigniter中无法在pdf中显示页码

Codeigniter - mPDF 导出空白页

MPDF pdf 未在任何浏览器中打开,Codeigniter 中未显示错误

mPDF 库不适用于 php7.2 codeigniter