1

Bonjour,

j'ai un problème et je n'ai pas trouvé de solution au sein du forum.
J'utilise la v3.28.

Lorsque je crée une page, avec un page_header et un page_footer (comme vu dans le wiki), tout marche bien tant que je ne saisi pas de footer.

Si je saisi un footer ayant la forme : <table><tr> etc. : aucun souci ! Ca marche très bien.
Par contre dès que je saisi un footer ayant la forme '<p>Mon contenu de type paragraphe</p>', la génération de pdf ne fonctionne plus ! J'obtiens une page blanche vide, et aucun message d'erreur.

C'est plutôt embêtant d'être obligé de saisir un tableau. Est-ce normal ? Y-a-t-il un bug ? Ou bien suis-je simplement passé à côté de qqch ?

Merci par avance,

thecanea
avatar

2

pourrais-tu fournir un exemple HTML permettant d'arriver à ce problème ? que je puisse le reproduire ?

merci smile
Ancien pseudo : lolo

3

Merci déjà pour tout le travail fourni...

Alors, je crée la page en php de la façon suivante :

<?php
$content = '<page backtop="25mm" backbottom="25mm" backleft="10mm" backright="10mm">';

// HEADER
$content .= '<page_header>';
$content .= $courrier->getHeader();
$content .= '</page_header>';

// FOOTER
$content .= '<page_footer>';
$content .= $courrier->getFooter();
$content .= '</page_footer>';

// CONTENU
$content .= $courrier->getBody();

$content .= '</page>';

$content = utf8_decode($content);

$html2pdf = new HTML2PDF('P','A4','fr', array(10, 10, 10, 10));
$html2pdf->WriteHTML($content);
$html2pdf->Output($courrier->getName(true).'.pdf');

?>

Et les fonction getFooter(), etc. récupère le contenu de textareas édités via ckeditor. Si je récupère en base de données le contenu qui bloque sur le footer :

<p>
test de paragraphe</p>


Si je met un footer vide, aucun problème, ou un table, ça marche nickel. Dès que je met une balise <p></p> Ca ne marche plus. Et les balises <p> sont automatiquement mises via l'éditeur dès qu'on saisi du texte, donc ça pose problème.

Merci d'avance pour les idées que vous pourriez avoir.

Cordialement,

Thecanea
avatar

4

bon, ben en effet, je viens de reproduire le problème chez moi. je vais essayer de voir d'où ca vient !
Ancien pseudo : lolo

5

voici le correctif à apporter, par rapport à la v3.28. toutes les modifications sont à apporter au fichier html2pdf.class.php :

Remplacer la ligne 2801 par :
if (($this->pdf->getY()+$h<$this->pdf->h - $this->pdf->bMargin) || $this->isInOverflow || $this->isInFooter)

Remplacer la ligne 480 par :
$this->isInFooter = true;
$this->MakeHTMLcode();
$this->isInFooter = false;


Ajouter entre la ligne 76 et la ligne 77 :
var $isInFooter = false; // indique si on est dans un footer ou non

Ancien pseudo : lolo

6

Super !top Un grand merci pour le travail, et la réactivité...

Ca marche parfaitement, on va pouvoir faire des beaux footer maintenant wink

Bonne continuation,

Bien cordialement,

Thecanea

ps : juste une question qui n'a rien à voir, mais dont je n'ai pas trouvé explicitement la réponse... Comment faire pour ajouter une numérotation automatique en bas de page ? A priori c'est prévu, non ?
avatar

7

cf les exemples (dont about.php)

	<page_footer>
		<table class="page_footer">
			<tr>
				<td style="width: 33%; text-align: left;">
					http://html2pdf.fr/
				</td>
				<td style="width: 34%; text-align: center">
					page [[page_cu]]/[[page_nb]]
				</td>
				<td style="width: 33%; text-align: right">
					©Spipu 2008-2010
				</td>
			</tr>
		</table>
	</page_footer>
Ancien pseudo : lolo

8

Parfait, encore merci smile et bon courage pour la suite...

Thecanea
avatar