0
J'ai utilisé la fonction WordWrap de fpdf mais à cause de cela l'alignement des cellules est déformé. Des colonnes vides supplémentaires sont ajoutées et les autres cellules sont affectées. Voici le code. Merci d'avance.comment ajuster l'aligment de cellule dans fpdf
<?php
require('fpdf.php');
class PDF extends FPDF
{
function WordWrap(&$text, $maxwidth)
{
$text = trim($text);
if ($text==='')
return 0;
$space = $this->GetStringWidth(' ');
$lines = explode("\n", $text);
$text = '';
$count = 0;
foreach ($lines as $line)
{
$words = preg_split('/ +/', $line);
$width = 0;
foreach ($words as $word)
{
$wordwidth = $this->GetStringWidth($word);
if ($wordwidth > $maxwidth)
{
// Word is too long, we cut it
for($i=0; $i<strlen($word); $i++)
{
$wordwidth = $this->GetStringWidth(substr($word, $i, 1));
if($width + $wordwidth <= $maxwidth)
{
$width += $wordwidth;
$text .= substr($word, $i, 1);
}
else
{
$width = $wordwidth;
$text = rtrim($text)."\n".substr($word, $i, 1);
$count++;
}
}
}
elseif($width + $wordwidth <= $maxwidth)
{
$width += $wordwidth + $space;
$text .= $word.' ';
}
else
{
$width = $wordwidth + $space;
$text = rtrim($text)."\n".$word.' ';
$count++;
}
}
$text = rtrim($text)."\n";
$count++;
}
$text = rtrim($text);
return $text;
}
}
$pdf=new PDF();
$pdf->AddPage();
define("DBHOST","localhost");
define("DBNAME","users");
define("DBUSER","root");
define("PASS","");
$db = new PDO('mysql:host='.DBHOST.';dbname='.DBNAME,DBUSER,PASS);
$query = $db->prepare("SELECT name,email,mobile,address,language FROM users ");
$query->execute();
$datas = $query->fetchAll(PDO::FETCH_ASSOC);
$pdf->SetFont('Times','B',12);
$pdf->Cell(20,7,'Name',1);
$pdf->Cell(50,7,'Email',1);
$pdf->Cell(30,7,'Mobile',1);
$pdf->Cell(50,7,'Address',1);
$pdf->Cell(30,7,'Language',1);
$pdf->Ln();
$pdf->SetFont('Times','',12);
foreach ($datas as $row)
{
$pdf->Cell(20,7,$row['name'],1);
$pdf->Cell(50,7,$row['email'],1);
$pdf->Cell(30,7,$row['mobile'],1);
$text = "An example of a long word is: Supercalifragulistic";
$pdf->WordWrap($text,30);
$pdf->Cell(50,7,$pdf->Write(4,$text),1);
//$pdf->write("<br>");
$pdf->Cell(30,7,$row['language'],1);
$pdf->Ln();
}
//$pdf->SetFont('Arial','',12);
// $text='An example of a long word is: Supercalifragulistic';
// $pdf->WordWrap($text,15);
// $pdf->Cell(10,0,$pdf->Write(4,$text));
// $pdf->Write(5,"This paragraph has $nb lines:\n\n");
// $pdf->Write(4,$text);
$pdf->Output();
?>
Je reçois l'erreur Erreur fatale: Appel à la méthode non définie FPDF :: WriteHTML() – Ninad
Désolé. Essayez 'write' –
il ne fonctionne toujours pas en me donnant un 'erreur issing argument 2 pour FPDF :: Write()' – Ninad