iText HeaderFooter & # 8212; номер страницы появляется на следующей строке

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

  •  10-07-2019
  •  | 
  •  

Вопрос

Я создаю заголовок с помощью iText, используя объект HeaderFooter.
Номер страницы всегда появляется во второй строке заголовка, даже если в первой строке достаточно места, и я не ставлю там явно разрыв строки.

Кажется, эта проблема возникла только при обновлении с iText 1.2 до iText 2.1.5, но я не заметил ничего очевидного в исходном коде iText.

Кто-нибудь еще имел эту проблему, или знает, как ее решить?

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

Вывод выглядит так:

Report Title Page:
1
Это было полезно?

Решение

Для всех, кто заинтересован, я понял это. При изменении параметра HeaderFooter на «Фраза» с «Абзаца» проблема была решена.

Измените эту строку:

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

На это:

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

Проблема закрыта!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top