PDF

Répondre
juvenalvangu
le 26/08/2005 à 20:59
juvenalvangu
Salut à tous,

J'ai cherché dans le manuel PHP et voilà ce que j'ai trouvé pour crée un fichier PDF en utilisant le PHP
--------------------------------------------------
pdf_new
(PHP 4 >= 4.0.5, PHP 5)

pdf_new -- Crée un nouvel objet PDF
Description
resource pdf_new ( )


pdf_new() crée un nouvel objet PDF, en utilisant le système de gestion d'erreur et celui de gestion de la mémoire.

Voir aussi pdf_close().
--------------------------------------------------

Le blème et que je ne comprend pas comment l'utilisé, et espère obtenir de vous plus d'explication

Merci d'avance
Aucun Code n'est parfait ... (http://www.phpamateur.africa-web.org/)
JuTs
le 26/08/2005 à 21:54
JuTs
Utilise cette classe : http://www.fpdf.org/

Elle te permet de créer des pdf très facilement

a++
JuTs
juvenalvangu
le 26/08/2005 à 22:20
juvenalvangu
Je suis encore débutant en PHP et je n’arrive pas à utiliser des classes, je lus le chapitre sur ça mais g ne comprend rien et continue à faire des efforts, mais il y aurait pas une fonction pcq moi avec les classes le courant ne passe pas très bien.

Remercie
Aucun Code n'est parfait ... (http://www.phpamateur.africa-web.org/)
LA GLOBULE
le 27/08/2005 à 00:32
LA GLOBULE
Pour faire du pdf en php, le plus simple (juts a raison), c'est vraiment d'utiliser fpdf.

Les fonctions PDF de PHP sont vraiment "trop bas niveaux" pour pouvoir faire quelque chose d'intressant en peu de temps.
juvenalvangu
le 30/08/2005 à 16:57
juvenalvangu
Avec le FPDF il n'y a pas moyen de transformer de(s) page(s) html en PDF, et je voudrais savoir s'il existait une classe qui le fait

Remercie d'avance
Aucun Code n'est parfait ... (http://www.phpamateur.africa-web.org/)
LA GLOBULE
le 30/08/2005 à 18:07
LA GLOBULE
Tu as mal regardé le site de fpdf.
Des extensions le font (certes, toutes les balises html ne sont pas supportées, mais quand meme, c'est déjà çà).
i M@N
le 31/08/2005 à 18:59
i M@N
Hello !

Un p'tit exemple concret que m'avait filé smiley LA_GLOBULE il y a quelques temps :
<?php

require('./fpdf.php');

class PDF extends FPDF
{
var $B;
var $I;
var $U;
var $HREF;

function PDF($orientation='P',$unit='mm',$format='A4')
{
/*Appel au constructeur parent*/
$this->FPDF($orientation,$unit,$format);
//Initialisation
$this->B=0;
$this->I=0;
$this->U=0;
$this->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(ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3))
$attr[strtoupper($a3[1])]=$a3[2];
$this->OpenTag($tag,$attr);
}
}
}
}

function OpenTag($tag,$attr)
{
/*Balise ouvrante*/
if($tag=='B' or $tag=='I' or $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' or $tag=='I' or $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);
}
}

$pdf=new PDF();
$pdf->AddPage();

$pdf->SetFont('Courier','',20);
$pdf->SetFontSize(10);

$pdf->SetFillColor(239,224,200);
$pdf->Ln(8);


ob_start();
/*place ici tout ton php qui génère ce que tu veux*/

echo 'bla bla bla bla ...';
include('./fichier.php');

/*fin de la génération "d'html"*/
$html_genere = ob_get_contents();

$pdf->WriteHTML($html_genere);


$pdf->Ln(8);

$pdf->Output('events.pdf', 'F');

?>
@+...
One Love, One Heart, One Unity.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours