我正在使用Code Igniter框架和tcpdf
第三方我在控制器中有一个全局变量:
public $pdf_content = '';
这是我预订的一些功能:
$data['success'] = $this->hotel_model->set_hotel(); //get the data from database
//view reservation detail
$this->load->view('hotel/header');
$this->load->view('hotel/success', $data );
$this->load->view('hotel/footer');
//assign the HTML page into global variable
$this->pdf_content = $this->load->view('hotel/success', $data , TRUE);
在我的视图文件中,我使用一个按钮将 HTML 下载为 pdf 文件,这是下载功能:
public function download(){
$this->load->library("Pdf");
$this->load->helper('pdf_helper');
$pdf = new Pdf('P', 'mm', 'A4', true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
// Add a page
$pdf->AddPage();
$pdf->writeHTMLCell(0, 0, '', '', $this->pdf_content , 0, 1, 0, true, '', true);
$pdf->Output('invoice.pdf', 'I');
}
两个功能都位于同一控制器内。
我认为基于我读过的任何教程,我的代码都没有错。
但是它下载了一些空白页面,当我尝试将字符串值分配给 $pdf_content 时,它工作正常,字符串值被写入下载的 PDF 文件中。
有人知道我在那里错过了什么吗?还是我的代码有问题?
任何帮助,不胜感激。
有多种方法。最简单的方法是手动将页面另存为 pdf (ctrl+p),然后将其作为下载提供。或者,您可以显示页面并在正文底部运行以下脚本。
<script>
var yourName = "someName';
document.title = yourName;
window.print();
</script>
这将触发 ctrl+p 命令,并允许用户打印或保存页面。