Проблема выравнивания TCPDF с тегом

#php #pdf #pdf-generation #tcpdf

Вопрос:

Мы столкнулись со странной проблемой, когда TCPDF неправильно печатает содержимое внутри <b> тега. Он становится неровным.

Ниже приведен код:

 $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->AddPage();

$html = <<<EOF
<html dir="ltr" lang="en-gb">
    <head>
        <title data-cke-title="Rich Text Editor, idServiceTemplate">Rich Text Editor, idServiceTemplate</title>
    </head>
    <body contenteditable="true" class="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders" spellcheck="true">
        <p align="left" style="text-align: left;">
            <span style="font-size: 10.5pt;">
                <span style="background: #ffffff;">
                    <span>
                        <b><span style="font-size: 9pt;"><span><span style="color: #000000;">GALL</span></span></span></b>
                        amp;nbsp;
                        <b>
                            <span style="font-size: 9pt;">
                                <span><span style="color: #000000;">BLADDER</span></span>
                            </span>
                        </b>
                        <span style="font-size: 9pt;">
                            <span><span style="color: #000000;">: The gall bladder is distended and appears extra hepatic in location. No calculus is seen within it.amp;nbsp;</span></span>
                        </span>
                    </span>
                </span>
            </span>
        </p>
    </body>
</html>

EOF;

// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');

//Close and output PDF document
$pdf->Output('example_006.pdf', 'I');
 

Предположим, что если я добавлю пробел раньше, то он будет напечатан правильно.Например:

Проблема с: <b><span style="font-size: 9pt;"><span><span style="color: #000000;">GALL</span></span></span></b> . Проверьте печать здесь.

но следующее работает отлично

<b><span style="font-size: 9pt;"><span><span style="color: #000000;">GALL</span></span></span> </b> Проверьте печать здесь.

Кто-нибудь знает, в чем здесь проблема?

Комментарии:

1. С точки зрения HTML, это может быть ошибка TCPDF [предполагая, что их ограниченный диалект не имеет очень странных частей], но просто ради того, чтобы поковыряться-что произойдет, если вы поиграете с amp;nbsp; after the GALL? (Разрывы строк во встроенном элементе педантически неверны, но, по крайней мере, они правильно вызывают дополнительные пробелы в выводе.)

2. @MingyeWang Если я удаляю amp;nbsp;, то проблема не возникает, но поскольку это редактор, у меня нет контроля над html

3. Эй, ты это проверил? Похоже, это ошибка из пакета.