使用 writeHTML 在 TCPDF 中获取间距问题
Getting spacing issues in TCPDF with writeHTML
我正在使用 TCPDF 的 writeHTML 函数创建包含 HTML 内容的 PDF。下面是相关代码:
<?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');
?>
使用这段代码,我发现标记为粗体的文本有些奇怪的重叠
以及其余的文字,如下所示:
如能帮助解决此问题,我们将不胜感激。
注意:这里的HTML是通过XMLHTTPRequest从前端接收的,并且必须按原样在PDF文档中呈现。
我找不到这个问题的根本原因。但我最终使用了 mPDF 库并且能够正确呈现文本。
我希望此信息对以后的人有所帮助。当然,如果有人能指出问题的原因,那就太好了。
我正在使用 TCPDF 的 writeHTML 函数创建包含 HTML 内容的 PDF。下面是相关代码:
<?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');
?>
使用这段代码,我发现标记为粗体的文本有些奇怪的重叠 以及其余的文字,如下所示:
如能帮助解决此问题,我们将不胜感激。
注意:这里的HTML是通过XMLHTTPRequest从前端接收的,并且必须按原样在PDF文档中呈现。
我找不到这个问题的根本原因。但我最终使用了 mPDF 库并且能够正确呈现文本。
我希望此信息对以后的人有所帮助。当然,如果有人能指出问题的原因,那就太好了。