Rendus PDF avec simplement une URL

Eléphanteau du PHP | 35 Messages

08 août 2009, 15:42

Bonjour à tous,

Depuis ce matin je suis à la recherche de la meilleur solution possible pour générer un PDF d'une page WEB.
Mes pages sont générés ainsi :
echo $this->header;  //Contient le haut de ma page template <html>....

$test = new Test();
$text = $test->getText();

echo $text;

echo $this->footer; //Le pied de page de ma page html
Je souhaiterais générer une page PDF téléchargeable avec le code ci-dessus. J'ai tester via une ligne de commande HTMLDOC mais cela ne prend pas en compte les CSS.

Et comment faire pour obtenir dans une variable tous le code HTML afficher via echo comme le code ci-dessus ?

Voilà je suis perdu pour générer des PDF complètement perdu..
Si une âme charitable peut me remettre sur le droit chemin.

A bientôt merci

Eléphant du PHP | 288 Messages

10 août 2009, 20:37

Salut

Pour générer un PDF, j'utilise la librairie FPDF http://www.fpdf.org/.

Lit la doc et voit si sa répond à ton besoin.

Bonne continuation.

ViPHP
ViPHP | 2287 Messages

17 août 2009, 03:22

Et comment faire pour obtenir dans une variable tous le code HTML afficher via echo comme le code ci-dessus ?
Deux façons de faire, soit tu remplaces méthodiquement tous les echo de ton script par de l'accumulation de texte dans une variable ( opérateur .= ), mais ça va nécessiter pas mal de réécriture de ton code, soit tu utilises la bufferisation de sortie :)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 177 Messages

17 août 2009, 11:49

Bonjour,
FPDF est effectivement trés bien. Par contre n'envisage même pas d'imaginer envoyer toute ta page html comme cela. Il n'y a que certaines balises html qui passerons, et pour les images et tableaux c'est plus tordu.

En gros tu vas faire ta page en double, une fois pour le html et une autre fois pour le pdf.

Pour le html
$sorti= '<p><u>Affaire</u> : '.$_POST['Naffaire'].'</p>';
$sorti.= '<p><u>Traitement du relev&#233; de la courbe</u> : '.$_POST['Repcourbe'].'</p>';
$sorti.= ' Les renseignements fournis ont permis de calculer les informations suivantes sur le relev&#233; effectu&#233; de la courbe " '.$_POST['Repcourbe'].' ":<br />
	 <ul>
	 <li>Sa longueur de corde est de '.$_POST['Lcorde'].' mm, et a une hauteur de fl&#232;che de '.$_POST['Hfleche'].' mm, et sa longueur est &#233;gale &#224; '.round($longueur_courbe).' mm.</li></ul>';
			$_SESSION ['sorti']= $sorti;
//ensuite un echo $sorti;
Dans le PDF
$pdf->writeHTML(utf8_encode('<br /><br /><hr> '), true, 0, true, 0);
$pdf->writeHTML( '<u>Traitement  demandé par</u> : '.$Nutilisateur.'<br />');

// Html police et balise

// Sorti du html
//$htmltxt=utf8_encode('<br />Traitement de La courbe demandé par : '.$Nutilisateur);
$htmltxt= $_SESSION ['sorti'];
$htmltxt.='<u>-Résultat du traitement sous forme de tableau.-</u><br />';
$htmltxt=utf8_decode($htmltxt) ;
$pdf->writeHTML(utf8_encode($htmltxt), true, 0, true, 0);
Dans cette exemple j'ai utilisé le passage des parametres en session mais post ou get marche aussi, cela t'aide t'il ?