Как центрировать таблицу HTML? - PullRequest
3 голосов
/ 09 апреля 2010

Попытка создать правильный документ PDF, используя PHP и TCPDF.

Можете ли вы помочь мне, как я могу использовать функцию writeHTML для создания и центрирования таблицы в TCPDF?

Пробовал с:

 $html = '

 <div style="margin-left: auto; margin-right: auto; width: 50%">
  <table border="1" width="200" align="center"><tr><td><b>Invoice number: '.$this->xInvoiceNumber.'</b></td></tr></table>
  <br />
  <table border="1" width="200" align="center"><tr><td>'.$this->xClient.'</td></tr></table>
  <br />
 </div>

... но не повезло.

Ответы [ 5 ]

16 голосов
/ 03 августа 2011

Вы должны составить таблицу с 3 столбцами, установить ширину для каждого из них, а в середине - создать таблицу.

<table>
<tr>
<td style="width:25%"></td>
<td style="width:50%"><table><tr><td>Your content</td></tr></table></td>
<td style="width:25%"></td>
</tr>
</table>

Я не горжусь этим методом, но он работает:)

3 голосов
/ 09 апреля 2010

Хорошо, так что я не знаю, есть ли решение для моей проблемы ...

Однако мне удалось решить эту проблему с помощью функции writeHTMLCell, т.е.

$this->writeHTMLCell(50, 0, 50, 50, 'cellcontent', 'LRTB', 1, 0, true, 'L'); 

Если кто-то может найти лучшее решение, пожалуйста, ответьте.

Tnx!

0 голосов
/ 14 января 2015

Попробуйте этот код; у меня это сработало:

<table style="width:100%">
  <tr>
    <td style="width:30%">left margin</td>
    <td style="width:40%">
      <table border="1" style="width:100%">
        <thead>
          <tr>
            <td style="width:100%" colspan="2"></td>
          </tr>
          <tr>
            <td style="width:40%"><b></b></td>
            <td style="width:60%"><b></b></td>
          </tr>
        </thead>
      </table>
    </td>
    <td style="width:30%">rigth margin</td>
  </tr>
</table>
0 голосов
/ 09 апреля 2010

Никогда не делал ничего подобного, однако этот код вам понадобится для центрирования таблицы, которая совместима с кроссбраузерной версией

<div style="text:align:center;">
  <table style="margin:0px auto" border="1" width="200" align="center">
    <tr>
      <td><b>Invoice number: </b></td>
    </tr>
  </table>
  <br />
  <table style="margin:0px auto"border="1" width="200" align="center">
    <tr>
      <td>Client</td>
    </tr>
  </table>
  <br />
</div>

Если PDF-файлы поддерживают CSS, я бы посоветовал стилизовать элементы HTML с помощью CSS

.
table{
  border:1px solid black;
  margin:0px auto;
  text-align:center;
  width:200px;
}

Надеюсь, это поможет!

0 голосов
/ 09 апреля 2010

Попробуйте заменить начальный тег div на этот ...

<div style="margin:5px auto; width:50%">
...