Merci pour la librairie HTML2PDF qui est bien pratique.
J'ai réussi à faire tout ce que je voulais jusqu'à présent, mais là je bloque sur un truc tout bête : les pages du sommaire ne prennent pas en compte les attributs back* de la balise page : les pages du sommaires se retrouvent alors remplies jusqu'en bas de la page, et donc si on imprime, le dernier élément du sommaire s'en trouve coupé.
Le sommaire est inséré en pages n°2 et suivantes suivant sa longueur calculée automatiquement en fonction du nombre de titres et de la taille de ceux-ci.
Voici le bout de code de mon template qui génère le HTML pour HTML2PDF (j'ai même essayé en forçant un footer d'une taille définie mais rien n'y fait) :
<xar:comment><!--Pages pour le sommaire--></xar:comment> <page pageset="new" backtop="10mm" backbottom="14mm" backleft="10mm" backright="10mm" backcolor="#FFFFFF" format="A4" orientation="P"> <page_header></page_header> <page_footer><div height="10mm;width:100%;"></div></page_footer> <bookmark title="Sommaire" level="0" ></bookmark> <xar:if condition="$nbPagesSommaire gt 1"> <xar:for start="$i = 1" test="$i lt $nbPagesSommaire" iter="$i++"> </page><page pageset="old"> </xar:for> </xar:if> </page>
Et le bout de code pour générer le sommaire :
$html2pdf->createIndex('Sommaire', 20, 15, FALSE, TRUE, 2);
J'ai peut être fait une erreur à la c@@ mais là je ne vois vraiment pas ?