我在 pdf 中显示了一些问题的答案。但在某些情况下,问题在一页上,答案会出现在下一页。我想避免这种情况。我想在第一页或下一页的同一页中显示问题和答案。我尝试了如下的 CSS
:
.questiontext
{
unbreakable: true
}
但它对我不起作用。请帮助我。我添加了 pdf 助手并查看页面如下。
$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);
在生成表单列表中,我添加了如下 View 页面:
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);
}
刚才我在 View 页面显示了如下数据:
<?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/>';
}
?>
请帮助我如何使两者都在一页中。
最佳答案
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>';
}
?>
如果您使用 page-break-inside: avoid;
为 dontsplit
类设置样式,您将使整个问答 block 保持在一起,避免分页。
关于css - 如何避免dompdf中的分页符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55002075/