iText HeaderFooter & # 8212; le numéro de page apparaît sur la ligne suivante
Question
Je crée un en-tête avec iText à l'aide de l'objet HeaderFooter.
Le numéro de page apparaît toujours sur la deuxième ligne de l'en-tête, même s'il y a beaucoup de place sur la première ligne et que je ne mets pas explicitement un saut de ligne à cet endroit.
Il semble que ce problème ne se soit produit que lors de la mise à niveau de iText 1.2 vers iText 2.1.5, mais je n’ai rien remarqué d’évident dans le code source iText.
Quelqu'un d'autre at-il eu ce problème ou sait comment le résoudre?
headString += viewReportTitle + "Page: ";
//Setting the second param to true should append a page number at the end of the string
HeaderFooter header = new HeaderFooter(new Paragraph(headString, iTextHeadingFont), true);
header.setAlignment(Element.ALIGN_CENTER);
iTextDoc.setHeader(header);
La sortie apparaît comme ceci:
Report Title Page:
1
La solution
Pour tous ceux qui sont intéressés, je l'ai compris. En modifiant le paramètre HeaderFooter en Phrase, à partir de Paragraphe, le problème a été résolu.
Modifiez cette ligne:
HeaderFooter header = new HeaderFooter(new Paragraph(headString, iTextHeadingFont), true);
À ceci:
HeaderFooter header = new HeaderFooter(new Phrase(headString, iTextHeadingFont), true);
Problème clos!