Server : Apache System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64 User : hednacluml ( 122243) PHP Version : 8.3.9 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/hednacluml/unienfants/lib/h5c1accba-fpdf181/tutorial/ |
<?php require('../fpdf.php'); class PDF extends FPDF { protected $B = 0; protected $I = 0; protected $U = 0; protected $HREF = ''; function WriteHTML($html) { // Parseur HTML $html = str_replace("\n",' ',$html); $a = preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE); foreach($a as $i=>$e) { if($i%2==0) { // Texte if($this->HREF) $this->PutLink($this->HREF,$e); else $this->Write(5,$e); } else { // Balise if($e[0]=='/') $this->CloseTag(strtoupper(substr($e,1))); else { // Extraction des attributs $a2 = explode(' ',$e); $tag = strtoupper(array_shift($a2)); $attr = array(); foreach($a2 as $v) { if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3)) $attr[strtoupper($a3[1])] = $a3[2]; } $this->OpenTag($tag,$attr); } } } } function OpenTag($tag, $attr) { // Balise ouvrante if($tag=='B' || $tag=='I' || $tag=='U') $this->SetStyle($tag,true); if($tag=='A') $this->HREF = $attr['HREF']; if($tag=='BR') $this->Ln(5); } function CloseTag($tag) { // Balise fermante if($tag=='B' || $tag=='I' || $tag=='U') $this->SetStyle($tag,false); if($tag=='A') $this->HREF = ''; } function SetStyle($tag, $enable) { // Modifie le style et s�lectionne la police correspondante $this->$tag += ($enable ? 1 : -1); $style = ''; foreach(array('B', 'I', 'U') as $s) { if($this->$s>0) $style .= $s; } $this->SetFont('',$style); } function PutLink($URL, $txt) { // Place un hyperlien $this->SetTextColor(0,0,255); $this->SetStyle('U',true); $this->Write(5,$txt,$URL); $this->SetStyle('U',false); $this->SetTextColor(0); } } $html = 'Vous pouvez maintenant imprimer facilement du texte m�langeant diff�rents styles : <b>gras</b>, <i>italique</i>, <u>soulign�</u>, ou <b><i><u>tous � la fois</u></i></b> !<br><br>Vous pouvez aussi ins�rer des liens sous forme textuelle, comme <a href="http://www.fpdf.org">www.fpdf.org</a>, ou bien sous forme d\'image : cliquez sur le logo.'; $pdf = new PDF(); // Premi�re page $pdf->AddPage(); $pdf->SetFont('Arial','',20); $pdf->Write(5,'Pour d�couvrir les nouveaut�s de ce tutoriel, cliquez '); $pdf->SetFont('','U'); $link = $pdf->AddLink(); $pdf->Write(5,'ici',$link); $pdf->SetFont(''); // Seconde page $pdf->AddPage(); $pdf->SetLink($link); $pdf->Image('logo.png',10,12,30,0,'','http://www.fpdf.org'); $pdf->SetLeftMargin(45); $pdf->SetFontSize(14); $pdf->WriteHTML($html); $pdf->Output(); ?>