codeigniter 如何在mPDF中使用引导程序?

8dtrkrch  于 2022-12-07  发布在  其他
关注(0)|答案(4)|浏览(144)

我目前正在使用mpdf从html生成我的pdf文件。到目前为止,用我当前传递的html,我可以生成一个带有页眉和页脚的单页pdf文件。但是,如果有多页,我的页脚会一直到第二页的底部。有没有办法为每一页添加页眉和页脚?
我试过$pdf-〉setHTMLHeader,但是它似乎不能接收我的css文件,并且在我的徽标应该在的地方留下了一个x。我该怎么做呢?我试过在不同的地方搜索,但是我似乎找不到一个解决方案。
这是我的密码

public function generate_pdf($account_id,$transaction_id,$html){
        $document_folder = $_SERVER['DOCUMENT_ROOT']."/".DOCUMENT_FOLDER."/".PAYMENT_RECEIPTS."/".date("Y");
        $extension = ".pdf";
        if(!is_dir($document_folder)){
            mkdir($document_folder, 0777,true);
        }
        $file_name = md5($transaction_id.$account_id);
        $this->load->library('m_pdf');
        $pdf = $this->m_pdf->load();
        $header = $this->load->view('pdfs/header','',true);
        $footer = $this->load->view('pdfs/footer','',true);
        $pdf->setHTMLHeader($header);
        $pdf->setHTMLFooter($footer);
        $pdf->AddPage('', // L - landscape, P - portrait 
            '', '', '', '',
            5, // margin_left
            5, // margin right
           60, // margin top
           30, // margin bottom
            0, // margin header
            0
        ); // margin footer
        $pdf->WriteHTML(base64_decode($html));
        $pdf->Output($document_folder."/".$file_name.$extension, "F");
        $result = array(
            'file_name'=>$file_name,
            'file_location'=>$document_folder."/".$file_name.$extension,
            'file_link'=>DOCUMENT_LOCATION."/".DOCUMENT_FOLDER."/".PAYMENT_RECEIPTS."/".date("Y")."/".$file_name.$extension
        );
        return $result;
        exit;

    }

另外,有没有办法知道PDF的输出是否成功?目前$pdf-〉Output只返回“”
谢谢你

zwghvu4y

zwghvu4y2#

mPDF不完全支持引导样式。可以选择一些替代样式,例如基于wkhtmltopdf的Headless Chromium 。
一个mpdf的家伙告诉说,引导程序不支持开箱即用的mpdf内,你必须使用一些自定义的风格。Github link
希望这将有助于解决您的问题。

koaltpgm

koaltpgm3#

在我的例子中,我使用的是Bootstrap 3.3.7和MPDF版本6.0。它工作得很好,没有任何错误。

$stylesheet = file_get_contents('css/bootstrap-3.3.7.min.css');
$pdf->WriteHTML($stylesheet, 1); // CSS Script goes here.
$pdf->WriteHTML($html, 2); //HTML Content goes here.
$pdf->Output();
wkftcu5l

wkftcu5l4#

除去了
@媒体
块从引导风格文件删除和使用基本的css命令

相关问题