我目前正在使用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只返回“”
谢谢你
4条答案
按热度按时间of1yzvn41#
以下是mPDF的引导CSS文件:https://github.com/kartik-v/yii2-mpdf/blob/master/src/assets/kv-mpdf-bootstrap.css
它是封装mPDF的kartik-v/yii2-mpdf PHP库的一部分。
zwghvu4y2#
mPDF不完全支持引导样式。可以选择一些替代样式,例如基于wkhtmltopdf的Headless Chromium 。
一个mpdf的家伙告诉说,引导程序不支持开箱即用的mpdf内,你必须使用一些自定义的风格。Github link
希望这将有助于解决您的问题。
koaltpgm3#
在我的例子中,我使用的是Bootstrap 3.3.7和MPDF版本6.0。它工作得很好,没有任何错误。
wkftcu5l4#
除去了
@媒体
块从引导风格文件删除和使用基本的css命令