我在CodeIgniter中使用mPDF。
这是我的lib(pdf.php)
class pdf {
function pdf()
{
$CI = & get_instance();
log_message('Debug', 'mPDF class is loaded.');
}
function load($param=NULL)
{
include_once APPPATH.'/third_party/mpdf/mpdf.php';
if ($params == NULL)
{
$param = '"en-GB-x","A4","","",10,10,10,10,6,3,"L"';
}
return new mPDF($param);
}
}
这是我的控制器
$filename = 'qwerty';
//...
// As PDF creation takes a bit of memory, we're saving the created file in /downloads/reports/
$pdfFilePath = FCPATH."reports\\" . $filename . ".pdf";
//$data['page_title'] = 'Hello world'; // pass data to the view
for($i=0;$i>=0;$i++)
{
if(file_exists($pdfFilePath) == TRUE)
{
$pdfFilePath = FCPATH."reports\\" . $filename . $i . ".pdf";
} else {
break 1;
}
}
ini_set('memory_limit','32M');
$html = $this->load->view('certificate/certificate', $isi,TRUE); // render the view into HTML
$this->load->library('pdf');
$pdf = $this->pdf->load($param);
\$pdf = $this->pdf->load();
$pdf->SetFooter($_SERVER['HTTP_HOST'].'|{PAGENO}|'.date(DATE_RFC822));
$pdf->WriteHTML($html);
$pdf->Output($pdfFilePath, 'F'); // save to file because we can
即使使用该配置($param
),结果仍然会给我一个肖像文件,因此,CSS内部非常混乱。
我该怎么办?
答案 0 :(得分:11)
我的名字是Rhonald Brito,这是我第一次来这里,我使用Codeigniter和MPDF大约1年,在这里我告诉你我的代码:
public function Make_PDF($view, $data, $file_name) {
$html = $this->load->view($view, $data, true);
$this->mpdf = new mPDF();
$this->stylesheet = file_get_contents('css/style.css');
$this->mpdf->AddPage('L', // L - landscape, P - portrait
'', '', '', '',
30, // margin_left
30, // margin right
30, // margin top
30, // margin bottom
18, // margin header
12); // margin footer
$this->mpdf->WriteHTML($html);
//$this->mpdf->Output($file_name, 'D'); // download force
$this->mpdf->Output($file_name, 'I'); // view in the explorer
// for more information rhonalejandro@gmail.com
}
答案 1 :(得分:4)
答案 2 :(得分:4)
在构造函数中将格式设置为“A4-L”。
答案 3 :(得分:1)
我使用与你相同的代码,我在我的网站上添加了Rhonald Brito的代码。它运作良好
$pdf->AddPage('L', // L - landscape, P - portrait
'', '', '', '',
30, // margin_left
30, // margin right
30, // margin top
30, // margin bottom
18, // margin header
12); // margin footer
答案 4 :(得分:0)
阅读Using mPDF with CodeIgniter以了解将参数传递到哪里并应用Pooshonk的建议参数后,我在Codeigniter项目的助手中使用适合mPDF的语法将所有页面设置为横向模式,从而达到了预期的效果。 / p>
$CI = get_instance();
$CI->load->library('pdf');
$html = $CI->load->view($templatePath, $dataArray, true);
$pdf = $CI->pdf->load('utf-8', 'L');
p.s。在我的CI项目中对mPDF6.0进行了更多试验之后,我发现传递true
具有相同的效果。我认为它允许mPDF自动确定所提供数据的更合适的方向。如果是这样,它会更灵活,但可能还需要更多处理(当我知道我总是想要该特定模板的横向放置时。)
$pdf = $CI->pdf->load(true);