Jiyuu Le 27/01/2012 à 11:15 Bonjour,
Je rencontre un petit souci à priori lié à la gestion des marges et qui se traduit par la création d'une page vierge.
À titre d'exemple, voici un script qui génère deux pages alors que c'est parfaitement inutile...
<?php
$html = '
<link type="text/css" href="./styleImpress.css" rel="stylesheet" >
<style type="text/css">
</style>
<page backtop="30mm" backright="30mm">
<div>
<page_header>
<div>
Titre
</div>
</page_header>
<page_footer>
Ceci est le bas de page
</page_footer>
toto</div>
</page>';
require_once('../html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr', false, 'ISO-8859-15', array(5, 5, 30, 5));
$html2pdf->WriteHTML($html);
$html2pdf->Output('exemple.pdf');
?>
Si un petit coup de pouce pouvait être donné ça serait très sympatoche.
D'avance merci
Spipu Le 27/01/2012 à 12:33 tu as deux pages dans ton html : ce qui précède ta balise <page> et ce qui suit ta balise page...
il faut mettre la balise page en tout premier
Jiyuu Le 27/01/2012 à 13:24 Avec l'exemple ci-dessus et en déplaçant mon premier <div> je n'ai à priori plus le problème.
Par contre avec celui ci-dessous je l'ai toujours :
<?php
$titre = $_POST['titre'];
$page1 = $_POST['page1'];
$page2 = $_POST['page2'];
$html = '<link type="text/css" href="./styleImpress.css" rel="stylesheet" >
<style type="text/css"></style>
<page backtop="30mm" backright="30mm">
<page_header>
<div id="titre">'.$titre.'</div>
</page_header>
<page_footer> Ceci est le bas de page</page_footer>
<div id="container">'.$page1.$page2.'</div>
</page>';
require_once('../html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr', false, 'ISO-8859-15', array(5, 5, 20, 5));
$html2pdf->WriteHTML($html);
$html2pdf->Output('exemple.pdf');
?>
$titre, $page1 et $page3 sont des morceaux de code en pur HTML.
Dans ce cas j'ai une première page correctement remplie, une deuxième avec seulement 6 ou 7 lignes une troisième parfaitement libre à l’exception des pieds et tête de page.
Bizarrerie, si je remplace
$html2pdf = new HTML2PDF('P','A4','fr', false, 'ISO-8859-15', array(5, 5, 20, 5));
par
$html2pdf = new HTML2PDF('P','A4','fr', false, 'ISO-8859-15', array(5, 5, 30, 5));
là plus de soucis...
Spipu Le 27/01/2012 à 15:26 ah oui, je n'avais pas vu le div.
il faut impérativement respecté ce qui est indiqué dans le wiki pour la gestion des pages.
de plus, pourquoi tout mettre dans un div container ? il ne sert à rien, à part ralentir inutilement et imposé que tout rentre sur une seule page
Jiyuu Le 27/01/2012 à 19:02 À priori c'était bien le container... j'ai séparé et je n'ai plus de souci.
Merci et au passage bravo pour ce module incroyable.