将html转换为pdf,调整宽度

时间:2011-04-21 09:27:20

标签: php html codeigniter

我的html页面中有一个大约有10列的表,当我转换为pdf时,最后的列被截断。如何解决这个问题。有没有PDF格局选项?

在codeigniter中工作:使用dompdf转换器

 $this->load->plugin('to_pdf');
$this->load->helper('file');
$html     = $this->load->view('export_pdf'), $data, TRUE);
            pdf_create($html, $this->session->userdata('site_id'),TRUE); 
                } 

我还使用pdf_create($html, $this->session->userdata('site_id'),TRUE,$papersize = 'a3', $orientation = 'landscape');,但是我给出结果的纸张尺寸和方向是什么

3 个答案:

答案 0 :(得分:1)

如果您正在使用codeigniter,使用dompdf帮助程序,您可以在helpers / dompdf_helper.php中使用此修改

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename, $stream=TRUE) 
{
    require_once("dompdf/dompdf_config.inc.php");

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->set_paper("a4");
    $dompdf->render();
    $dompdf->stream($filename . ".pdf");
}

function pdf_create_params($html, $filename, $stream=TRUE, $paper = 'a4', $orientation = "portrait") 
{
    require_once("dompdf/dompdf_config.inc.php");

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->set_paper($paper, $orientation);
    $dompdf->render();
    $dompdf->stream($filename . ".pdf");
}

?>

而是调用pdf_create调用pdf_create_params并使用你想要的参数。默认情况下它有A4和肖像。

答案 1 :(得分:0)

使用

pdf_create($html, $this->session->userdata('site_id'),TRUE, 'a3', 'landscape');

答案 2 :(得分:0)

我有类似的问题。使用后我无法调整列宽:

$htmlToPdf->WriteHTML($this->view->render($fileRender));

要解决此问题,只需在您的视图文件中将style属性应用于 td

<td style:"width:10%;"> </td>