在codeigniter中单击下载按钮后将html转换为pdf

时间:2017-06-25 10:51:25

标签: codeigniter pdf

我创建了一个简历生成器应用程序。用户输入所有必需的详细信息,我将所有详细信息存储在数据库中。然后我将获取这些记录并将其显示在不同的模板中。我创建了3个模板。现在我想以PDF格式下载并下载为docx两个下载按钮。一旦用户点击任何按钮文件,将以他们选择的格式下载。 pdf或docx。

是否可以在codeigniter中实现?

我使用了Tcpdf

控制器代码



the code written in controller download $this - > load - > library("Pdf");
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set auto page breaks
$pdf - > SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf - > setImageScale(PDF_IMAGE_SCALE_RATIO);
// Add a page
// This method has several options, check the source code documentation for more information.
$pdf - > AddPage();
// Set some content to print 
$html = $this - > load - > view('resume/res_template1_view', array('left_sidebar' => 'sidebar/left_sidebar', '             right_sidebar' => 'sidebar/right_sidebar'), $data, TRUE);
// Print text using writeHTMLCell()
$pdf - > writeHTML($html, 0, 0, '', '', 0, 1, 0, true, '', true);
//$pdf->writeHTML($html, true, false, true, false, ''); 

// Close and output PDF document
// This method has several options, check the source code documentation for more information.
$pdf - > Output('resume.pdf', 'D');




1 个答案:

答案 0 :(得分:0)

可能你需要在CI中使用一些库来实现这一目标。请检查下面。 您可以将Html2Pdf用于CI3库。 https://github.com/shyamshingadiya/HTML2PDF-CI3

  

如何使用

为了创建PDF,您需要设置4个选项;文件夹,文件名,纸张和HTML

//Load the library
$this->load->library('html2pdf');

//Set folder to save PDF to
$this->html2pdf->folder('./assets/pdfs/');

//Set the filename to save/download as
$this->html2pdf->filename('test.pdf');

//Set the paper defaults
$this->html2pdf->paper('a4', 'portrait');

//Load html view
$this->html2pdf->html(<h1>Some Title</h1><p>Some content in here</p>);

create函数有两个选项'save''download'。保存只会将PDF写入您在设置中选择的文件夹。下载将强制PDF在客户端浏览器中下载。

//Create the PDF
$this->html2pdf->create('save');

高级用法

没有理由不能构建视图并将其传递给html()函数。另请注意,如果您选择create()选项,'save'函数将返回已保存的路径。

$data = array(
    'title' => 'PDF Created',
    'message' => 'Hello World!'
);

//Load html view
$this->html2pdf->html($this->load->view('pdf', $data, true));

if($path = $this->html2pdf->create('save')) {
    //PDF was successfully saved or downloaded
    echo 'PDF saved to: ' . $path;
}

请检查上述解决方案。如果它不起作用,请告诉我。