使用writeHTML获取TCPDF中的间距问题

时间:2019-02-27 14:12:51

标签: php 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');    
?>

使用此代码,我得到了一些奇怪的标记为粗体的文本重叠 以及其余的文本,如下所示: enter image description here 可以在此处查看问题:Overlapping Issue of TCPDF writeHTML()

任何帮助解决此问题的方法将不胜感激。

请注意:这里的HTML是通过XMLHTTPRequest从前端接收的,必须在PDF文档中原样显示。

1 个答案:

答案 0 :(得分:0)

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

我希望此信息将来对某人有所帮助。当然,如果任何人都可以指出问题的原因,那就太好了。