2010-04-09 10 views
3

Essayer de créer un document PDF approprié, en utilisant PHP et TCPDF.Comment centrer la table html?

Pouvez-vous m'aider, comment puis-je utiliser la fonction writeHTML pour créer et centrer la table, dans TCPDF?

avec tryed:

$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> 

... mais pas de chance.

Répondre

0

Essayez de remplacer votre balise d'ouverture div avec ce ...

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

jamais fait quelque chose comme ça mais, c'est le code que vous devrez centrer une table qui est le navigateur compatible cross

<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> 

Si pdfs soutien je conseille css styling les éléments HTML à l'aide css

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

J'espère que cela t'aides!

+0

bien ... avec le code suivant: \t

\t \t \t \t \t
\t \t Invoice number: 123 \t \t
\t \t Invoice date: 2010-04-09 \t
\t
\t
... texte est centré, mais les frontières de la table est aligné à gauche. aussi, ce serait bien si le texte peut être aligné à gauche dans la table ... mais je ne sais pas est-ce possible ... – user198003

+0

oui j'essaie aussi de trouver la réponse à ce problème! – ina

3

Ok, donc je ne sais pas s'il y a une solution pour mon problème ...

Cependant, j'ai réussi à le résoudre en utilisant writeHTMLCell funcion, par exemple.

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

Si quelqu'un peut trouver une meilleure solution, veuillez répondre.

Tnx!

13

Vous devez faire une table avec 3 colonnes, définissez la largeur pour chacun d'eux et dans le milieu vous devez créer votre table.

<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> 

Je ne suis pas fier de cette méthode, mais ça fonctionne :)

+1

Après avoir essayé plusieurs choses et échoué, je suis fier de vous, même si vous n'êtes pas fier de vous! Cela fonctionne pour moi - bon travail. – Dennis

0

Essayez ce code; il a travaillé pour moi:

<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

Bonjour! En tête à tête, les questions et réponses publiées sur Stack Overflow doivent être rédigées en anglais. Il y a un site [espagnol Stack Overflow] (http://area51.stackexchange.com/proposals/42810/stack-overflow-in-spanish) actuellement proposé qui pourrait vous intéresser (après sa mise en ligne). _Hola! Como las cabezas para arriba, las preguntas y respuestas publicadas en desbordamiento de pila deben estar escritos en Francés. Hay un sitio de desbordamiento español Pila est actuellement propulsé par le fait que le puede est en train d'être interessé par (désuet de que dans la vigueur) –

+0

Okey. Désolé juste aider – user4455060