TCPDF重叠表

时间:2015-10-26 00:05:43

标签: php html5 tcpdf

我刚刚开始在Symfony中使用新的Web应用程序,其中一个功能是使用TCPDF打印收据。它运行正常,但是每当客户想要将其中一个字段放大时(在本例中为Observation字段),它就会与其他表重叠,如下图所示:

Receipt screenshot

我试图尽可能多地删除代码以向您展示,而不是那么困惑。

但最相关的一段代码(我认为)就是这一段:

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部分放在表格内的单元格中,除非我已尝试使用divsp,但它仍然重叠。也许别人有另一个想法。

EDIT3:如果我缩小Observações部分文本的大小,它会停止重叠,但如果我在其中一个产品中增加了行数,它就会重新开始重叠。

0 个答案:

没有答案