【问题标题】:TCPDF issue showing two tables side by side并排显示两个表格的 TCPDF 问题
【发布时间】:2017-07-24 21:41:16
【问题描述】:

我想并排显示两个表格。我的 html 显示了正确的结果,但是当我使用 TCpdf 将 html 更改为 pdf 时,表格不会并排显示,因为在 TCPDF 中不支持 float 属性。请告诉我如何使用 tcpdf 并排显示表格。我的html如下

  <table style="float:left">

  <tr>
 <td>  
  </td>
  </tr>

 </table>

  <table style="float"left">

   <tr>
 <td>
 </td>
   </tr>

  </table>

【问题讨论】:

  • style="float"left" 应该是style="float:left"
  • 不能以这种方式工作。那是一个错字:)
  • 如果你想要这样的特定设计,你应该真正使用单元格格式。 TCPDF 不支持 CSS 属性 float

标签: html pdf tcpdf html-to-pdf


【解决方案1】:

请使用下面的代码正常方式很难做到,即使它不可能尽力而为

<table style="padding-top: 10px;">
<tr style="font-size:11px;">
    <td>
        <table border="1" cellpadding="1" cellspacing="0" style="width:100%">
            <tr>
                <th bgcolor="#BDD6EE" colspan="2"
                    style="height:20px; text-align: center;vertical-align: middle;"><strong>ADMISSION
                    PACKAGE 2019</strong>
                </th>
            </tr>
            <tr>
                <td style="width:80%; text-align: center;">Half of CEA License Fee</td>
                <td style="width:20%;text-align: center;">$115.00</td>
            </tr>
            <tr>
                <td style="text-align: center;">CEA Application Fee</td>
                <td style="text-align: center;">$53.50</td>
            </tr>
            <tr>
                <td style="text-align: center;">Professional Indemnity Premium (Blanket)</td>
                <td style="text-align: center;">$139.00</td>
            </tr>
            <tr>
                <td style="text-align: center;">Convention Package</td>
                <td style="text-align: center;">$128.00</td>
            </tr>
            <tr>
                <td style="text-align: center;">Estate Agent Card</td>
                <td style="text-align: center;">$20.00</td>
            </tr>
            <tr>
                <td style="text-align: right;"><b>TOTAL:</b>&nbsp;&nbsp;</td>
                <td style="text-align: center;"><b>$455.50</b></td>
            </tr>
        </table>
    </td>
    <td>
        <table border="1" cellpadding="1" cellspacing="0" style="width:100%">
            <tr>
                <th bgcolor="#BDD6EE" colspan="2"
                    style="height:20px; text-align: center;vertical-align: middle;"><strong>RENEWAL PACKAGE
                    2020</strong>
                </th>
            </tr>
            <tr>
                <td style="width:80%; text-align: center;">CEA License Fee</td>
                <td style="width:20%; text-align: center;">$230.00</td>
            </tr>
            <tr>
                <td style="text-align: center;">Professional Indemnity Premium (Blanket)</td>
                <td style="text-align: center;">$139.00</td>
            </tr>
            <tr>
                <td style="text-align: center;">Convention Package</td>
                <td style="text-align: center;">$128.00</td>
            </tr>
            <tr>
                <td style="text-align: right;"><b>TOTAL:</b>&nbsp;&nbsp;</td>
                <td style="text-align: center;"><b>$497.00</b></td>
            </tr>
        </table>
    </td>
</tr>

【讨论】:

    【解决方案2】:

    显然,TCPDF 在设置两个相邻的 div 或表格以及可能还有许多其他元素方面存在一些问题,因此 CSS 无法解决问题。所以忘记样式和浮动和宽度(?),并将表格设置在另一个表格中,例如 Deep 3015 的答案。我不确定这一点,但我确信 HTML2PDF 实现了许多在 TCPDF 中不可用的 CSS(这很好,因为 HTML2PDF 基于 TCPDF),只是赛亚人。

    【讨论】:

      【解决方案3】:

      其中一种方法是拿一张桌子,在里面放两张桌子在每个 td.所以输出将是

      <?php
      require_once('tcpdf_include.php');
      
      // create new PDF document
      $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
      
      // set document information
      $pdf->SetCreator(PDF_CREATOR);
      $pdf->SetAuthor('Nicola Asuni');
      $pdf->SetTitle('TCPDF Example 048');
      $pdf->SetSubject('TCPDF Tutorial');
      $pdf->SetKeywords('TCPDF, PDF, example, test, guide');
      
      // set default header data
      $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 048', PDF_HEADER_STRING);
      
      // set header and footer fonts
      $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
      $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
      
      // set default monospaced font
      $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
      
      // set margins
      $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
      $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
      $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
      
      // set auto page breaks
      $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
      
      // set image scale factor
      $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
      
      // set some language-dependent strings (optional)
      if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
          require_once(dirname(__FILE__).'/lang/eng.php');
          $pdf->setLanguageArray($l);
      }
      
      // ---------------------------------------------------------
      
      // set font
      $pdf->SetFont('helvetica', 'B', 20);
      
      // add a page
      $pdf->AddPage();
      
      $pdf->Write(0, 'Example of side by sideHTML tables', '', 0, 'L', true, 0, false, false, 0);
      
      $pdf->SetFont('helvetica', '', 8);
      
      
      $tbl='<table>
        <tr>
          <td>
      
            <table cellspacing="0" cellpadding="1" border="1" style="float:right;width:300px">
              <tr>
                <td>1</td>
                <td>2</td>
              </tr>
              <tr>
                <td>1</td>
                <td>2</td>
              </tr>
      
            </table>
          </td>
          <td>
            <table cellspacing="0" cellpadding="1" border="1" style="float:right;width:300px">
              <tr>
                <td>3</td>
                <td>4</td>
              </tr>
              <tr>
                <td>3</td>
                <td>4</td>
              </tr>
      
            </table>
          </td>
        </tr>
      </table>
      
      ';
      
      
      $pdf->writeHTML($tbl, true, false, false, false, '');
      
      //Close and output PDF document
      $pdf->Output('example_048.pdf', 'I');
      ?>
      

      【讨论】:

        猜你喜欢
        • 2017-01-05
        • 2021-10-25
        • 2016-12-11
        • 2016-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多