iText HeaderFooter & # 8212; номер страницы появляется на следующей строке
Вопрос
Я создаю заголовок с помощью 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);
Проблема закрыта!
Не связан с StackOverflow