Pregunta

Estoy creando un encabezado con iText usando el objeto HeaderFooter.
El número de página siempre aparece en la segunda línea del encabezado, aunque hay mucho espacio en la primera línea, y no estoy poniendo explícitamente un salto de línea allí.

Parece que este problema solo comenzó al actualizar iText 1.2 a iText 2.1.5, pero no noté nada obvio en el código fuente de iText.

¿Alguien más ha tenido este problema o sabe cómo solucionarlo?

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);

El resultado aparece así:

Report Title Page:
1
¿Fue útil?

Solución

Para todos los interesados, lo descubrí. Al cambiar el parámetro HeaderFooter a Frase, desde el párrafo, se resolvió el problema.

Cambiar esta línea:

HeaderFooter header = new HeaderFooter(new Paragraph(headString, iTextHeadingFont), true);

A esto:

HeaderFooter header = new HeaderFooter(new Phrase(headString, iTextHeadingFont), true);

¡Problema cerrado!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top