I am creating a PDF with HTML contents using the writeHTML function of TCPDF. Below is the relevant code:
JavaScript
x
<?php
include('PDF/tcpdf.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('test');
$pdf->SetTitle("test");
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(20, PDF_MARGIN_TOP, 20);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('helvetica', '', 12, '', true);
$pdf->AddPage();
$html = '<div>Die Wohnung des Hauptmieters befindet sich in der
<span style="font-weight: bold;">This text is supposed to space properly but is overlapping.</span>
in <span style="font-weight: bold;">I don't know why, can anyone help me here?</span>
in der <span style="font-weight: bold;">It would be greatly appreciated.</span>
Etage. Es wird ein Raum zu Wohnzwecken und zur ausschließlichen Nutzung an
den Untermieter vermietet. Der Vermieter hat der Untervermietung schriftlich zugestimmt.
</div>';
$pdf->writeHTML($html, true, false, true, false, 'L');
$pdf->Output(__DIR__ . '/test.pdf', 'I');
?>
With this code, I am getting some weird overlapping of the text marked to be bold and the rest of the text, as shown below:
Any help to resolve this would be appreciated.
Note that: The HTML here is being received from a front end as via an XMLHTTPRequest, and must be presented as it is in the PDF document.
Advertisement
Answer
I was unable to find the root cause for this issue. But I ended up using the mPDF library and was able to get the text to render correctly.
I hope this info helps someone in the future. Of course if anyone can point out the reason for the issue it would be great.