$pdf->Text(25, 100, 'Name', false, false, true, 0, 0, 'C');
Text
est en fait un emballage à Cell
, modifier temporairement les paramètres de rendu du texte et le déplacement aux coordonnées indiquées avant de l'appeler. Il y a en fait trois paramètres d'alignement à Text
et/ou Cell
. $align
(défini sur 'C' dans la question) définit l'alignement horizontal du texte dans la cellule, mais ne change pas la position de départ de la cellule. Le problème avec ceci est que Cell est appelé avec la largeur 0, qui étend la cellule à la marge droite. Centrer le texte éloigne donc le texte de l'emplacement prévu. $calign
définit l'alignement vertical de la cellule par rapport à l'emplacement x, y donné, et $valign
définit l'alignement vertical du texte dans la cellule. Une façon d'obtenir du texte centré est d'appeler directement Cell
et de créer une boîte de dimensions connues (par exemple, en faisant correspondre les dimensions de la forme), positionnée pour correspondre au centre de la forme, et centrer le texte dans la cellule avec $align
et $valign
. Par exemple:
$cx = 50;
$cy = 100;
$rx = 20;
$ry = 10;
$pdf->SetXY($cx-$rx, $cy-$ry);
$pdf->Cell(2*$rx, 2*$ry, 'Name', null, null, 'C', null, null, null, null, 'T', 'C');
$pdf->Ellipse($cx, $cy, $rx, $ry);