我刚刚开始在Symfony中使用新的Web应用程序,其中一个功能是使用TCPDF打印收据。它运行正常,但是每当客户想要将其中一个字段放大时(在本例中为Observation字段),它就会与其他表重叠,如下图所示:
我试图尽可能多地删除代码以向您展示,而不是那么困惑。
但最相关的一段代码(我认为)就是这一段:
if($showObservacoesProdutos){
if($value->getObservacoes() != ''){
//ERROR!!!!!!!!!!!!! IT'S HERE THAT'S OVERLAPPING WITH EVERYTHING!!!!!!!!!!!!!1
$htmlProdutos[$count] .= '
<tr '.$line.'>
<td colspan="7" style="text-align: justify; font-size: 22px;"><b>'.__("Observações").':</b> '.nl2br($value->getObservacoes()).'</td>
</tr>';
}
}
$htmlProdutos[$count] .= '</table>';
$flag++;
($key+1 == sizeof($this->produtos)) ? $height=187 : $height=259;
if($documento instanceof CmrFacturas && $key+1 == sizeof($this->produtos)){
if($sf_user->getAttribute('id_pais_empresa') == InfPaises::ID_PORTUGAL){
$htmlProdutos[$count] .='<div style="padding-top: 5px; font-style: italic; font-weight: bold;">'.__("Os artigos / serviços foram colocados à disposição do adquirente na data").' '.$documento->getDataEmissao().'. ('.__("Alínea F nº5 artº 36 CIVA").').</div>';
}
}
$pdf->writeHTMLCell(190, '', '', $pdf->getY(), $htmlProdutos[$count], 0, 0, 0, true, 'L', true);
$pdf->Ln();
if($pdf->getY() > $height){
$pdf->AddPage();
$count++;
$flag = 0;
}
由于这是葡萄牙文,因此重叠的字段称为Observações
。
任何形式的帮助都将受到赞赏。
编辑:对于空格,问题看起来并不那么严重。我认为现在唯一的问题是它与标题重叠。我还交换了上面的图片,以便与带空格的收据相对应。 EDIT2:我有一个想法,但不知道如何执行它。也许问题在于html的性格。我可以将其放在另一个html容器中,而不是将Observações
部分放在表格内的单元格中,除非我已尝试使用divs
和p
,但它仍然重叠。也许别人有另一个想法。
EDIT3:如果我缩小Observações
部分文本的大小,它会停止重叠,但如果我在其中一个产品中增加了行数,它就会重新开始重叠。