iText HeaderFooter & # 8212; le numéro de page apparaît sur la ligne suivante

StackOverflow https://stackoverflow.com/questions/1038432

  •  10-07-2019
  •  | 
  •  

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
Était-ce utile?

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!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top