如何避免dompdf中的分页符

时间:2019-03-05 11:43:39

标签: css codeigniter dompdf

我正在pdf中显示一些问题答案。但是在某些情况下,问题在一页上,而答案将进入下一页。我想避免这种情况。我想在首页或下一页的同一页面中显示问题和答案。我已经尝试过CSS,如下所示:

.questiontext
{
  unbreakable: true
}

但这对我不起作用。请帮助我。我添加了pdf helper并查看以下页面。

$d_arr=date('Y-m-d H:i:s');
$location_name="test"       
$list_content=$this->generate_form_list($submission_id,$client_id); 


        $filename_proposalpdf="formname.pdf";
        $this->load->helper(array('dompdf', 'file'));
        pdf_create_proposal($list_content,$filename_proposalpdf,true);

在生成表单列表中,我添加了查看页面,如下所示:

public function generate_form_list($id,$client_id)
{
    $data['form_data']=$this->Mobile_app_model->get_form_list($id,$client_id);
    $data['client_data']=$this->Mobile_app_model->get_client_data($client_id);
    $data['client_idsss']=$client_id;
    return $this->load->view('pdf_formlist',$data,true);
}

在查看页面中,我仅显示了以下数据:

<?php
foreach($task_data as $fdata)
{ 
  echo '<p class="questiontext">';echo $fdata['question_text'];echo '</p>';
  echo '<p id="lableanswer">';echo $fdata['answer'];echo '</p>';echo '<br/>';
}
?>

请帮助我如何将两者都放在一页中。

1 个答案:

答案 0 :(得分:1)

unbreakable属性用于防止换行,而不是分页。

您正在寻找的是:

.question 
{
  page-break-inside: avoid;
}

您可以在此External reference

中找到更详细的参考

在下面解决您的评论时,问题在于您需要将问题和答案都包装在以page-break-inside: avoid;样式的单个元素中

.dontsplit
{
  page-break-inside: avoid;
}

<?php
foreach($task_data as $fdata)
{
  echo '<div class="dontsplit">'; 
  echo '<p class="questiontext">';echo $fdata['question_text'];echo '</p>';
  echo '<p id="lableanswer">';echo $fdata['answer'];echo '</p>';echo '<br/>';
  echo '</div>';
}
?>

如果您用dontsplitpage-break-inside: avoid;样式设置样式,您将获得整个问题解答框,以保持在一起,避免分页符。