首页 > 解决方案 > 使用 writeHTML 在 TCPDF 中获取间距问题

问题描述

我正在使用 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 文档中呈现。

标签: phptcpdf

解决方案


我无法找到此问题的根本原因。但我最终使用了mPDF库,并且能够正确呈现文本。

我希望这些信息对将来的某人有所帮助。当然,如果有人能指出问题的原因,那就太好了。


推荐阅读