1

Bonjour à tous !!
J'aimerais savoir si il etait possible d'obtenir le code source me permettant d'ajouter un bouton "Enrigistrer"
à mon Interface Homme Machine qui lorsque je cliquerais dessus, enregistrerais la page web en cours au format PDF.
Je cherche ce code source depuis trop longtemps, help me please !

2

Tu peux aller jeter un coup d'oeil à html2pdf (le forum associé est ici). Mais attention, contrairement à ce que laisse entendre le site, ça ne traduit pas vraiment une page web en PDF, il faut la modifier légèrement pour qu'elle soit compatible.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

Merci de ton aide Zephyr,ta reponse m'a permit de faire un bond de geant dans mes recherches wink
mais il me reste un petit problème à régler.
Mon problème dans ce code source est le suivant:
"include(dirname(__FILE__).'/res/exemple10.php');"
On doit lui indiquer dans quelle dossier aller chercher la page HTML à convertir en PDF,
mais j'aimerais qu'il puisse aller chercher la page à traduire depuis une url, exemple : http://www.gooogle.fr
Merci

4

a partir du moment ou la page web que tu souhaites convertir fait parti du meme site et est également générée par php sur le même serveur, tu n'as qu'à mettre la génération de ta page HTML à la place de l'include dont tu parles.
Ancien pseudo : lolo

5

Merci de ta reponse Spipu,
Effectivement, dans le cas ou la page se trouve sur le meme site, il me suffit de lui indiquer le repertoire de destination.
Mais dans mon application j'ai besoin aussi de pouvoir convertir une page web externe au site, comme www.google.fr par exemple.
Merci

6

essaies ce script, mais il peut mal ou ne pas marcher...

<?php
/**
 * Logiciel : exemple d'utilisation de HTML2PDF
 * 
 * Convertir une page 
 * Distribué sous la licence LGPL. 
 *
 * @author		Laurent MINGUET <webmaster@spipu.net>
 */

 	// récupération du contenu HTML
 	$domain = 'http://domaine.net/';
 	$main = $domain.'repertoire/';
 	$url = $main.'fichier.php';
 	
 	// récupération du contenu HTML
 	$content = file_get_contents($url);
 	$content = str_replace("'./", "'".$main, $content); 
	$content = str_replace('"./', '"'.$main, $content); 
 	$content = str_replace("'/", "'".$domain, $content); 
	$content = str_replace('"/', '"'.$domain, $content); 
	
	// conversion HTML => PDF
	require_once(dirname(__FILE__).'/html2pdf.class.php');
	$html2pdf = new HTML2PDF('P','A4','fr', array(10, 20, 10, 10));
	$html2pdf->setTestIsImage(false);
	$html2pdf->setDefaultFont('arial');
	$html2pdf->WriteHTML($content, isset($_GET['vuehtml']));
	$html2pdf->Output('convert.pdf');
Ancien pseudo : lolo

7

Arf, je sens que c'est presque ca smile
Ca a l'air de charger, mais au bout de quelque secondes le message suivant apparait :
"ERREUR n°6
Fichier : C:\wamp\www\html2pdf_v3.26\html2pdf.class.php
Ligne : 2079

Impossible de charger l'image images/logo.gif
"

8

Re,
J'ai essayé avec d'autres liens, différent type d'erreur s'affiche sad
Il n'existe pas une autre alternative, sans passer par un logiciel ?
Merci.

9

pour l'image : lis bien le code que je t'ai indiqué wink

$html2pdf->setTestIsImage(false);

passe le paramètre à true, et ca ne bloquera plus sur les images manquantes
Ancien pseudo : lolo

10

Re,
Merci pour tes reponses Spipu,

Code php saisi :
// récupération du contenu HTML
$domain = 'http://www.cestfacile.org';
$url = $domain.'/convertir-page-web-pdf.htm';

// récupération du contenu HTML
$content = file_get_contents($url);
$content = str_replace("'/", "'".$domain, $content);
$content = str_replace('"/', '"'.$domain, $content);

// récupération du contenu HTML
$content = file_get_contents($url);

// conversion HTML => PDF
require_once(dirname(__FILE__).'/html2pdf.class.php'); (LIGNE 28 )
$html2pdf = new HTML2PDF('P','A4','fr', array(10, 20, 10, 10));
$html2pdf->setTestIsImage(true);
$html2pdf->setDefaultFont('arial');
$html2pdf->WriteHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('convert.pdf');

Message d'erreur correspondant :

Warning: require_once(C:\wamp\www\html2pdf_v3.26\exemples/html2pdf.class.php) [function.require-once]: failed to
open stream: No such file or directory in C:\wamp\www\html2pdf_v3.26\exemples\exemple00.php on line 28

Fatal error: require_once() [function.require]: Failed opening required 'C:\wamp\www\html2pdf_v3.26\exemples/html2pdf.class.php' (include_path='.;C:\php5\pear') in C:\wamp\www\html2pdf_v3.26\exemples\exemple00.php on line 28

Merci wink

11

L'inclusion a échoué, le fichier html2pdf.class.php n'est donc pas à l'emplacement attendu. C'est une erreur de PHP basique qui n'a pas de lien avec HTML2PDF, un petit tour sur google s'impose smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

Ok merci Zephyr,
J'go google de suite wink

13

Re,
Apres avoir placer les fichiers la ou il veut les voir, je me retrouve souvent avec cette erreur :

ERREUR n°4
Fichier : C:\wamp\www\html2pdf_v3.26\exemples\parsingHTML.class.php
Ligne : 127

Code HTML non valide, les balises ne sont pas fermées dans le bon ordre.
Etat :

Array
(
[0] => page
[1] => div
[2] => div
[3] => div
[4] => div
[5] => div
[6] => div
[7] => div
[8] => div
[9] => div
[10] => ul
[11] => li
[12] => script
[13] =>
)



HTML : ...(comparatorLink); } } } //]]> </script> </li> <li> <a class="account" ...

Je perds espoir sad

14

ça veut dire que le HTML qui compose ta page n'est pas valide puisque les balises ne se ferment pas dans le bon ordre.
Je crois que HTML2PDF ne gère que le code valide.

Un petit test sur http://validator.w3.org/ ? smile

15

Un conseil d'ordre général avant de se retrouver avec un topic de 3 pages : sois bien sûr d'avoir lu l'intégralité de la documentation de html2pdf avant de poser une question. La réponse s'y trouve souvent, et c'est par exemple le cas pour celle-ci.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

16

Tu peux toujours utiliser Tidy : http://fr.php.net/manual/fr/intro.tidy.php

mais je te conseil de générer du code propre du premier coup.
Best regards ~