Как установить метку страницы для одной страницы в iText7? - PullRequest
0 голосов
/ 03 ноября 2019

В iText метки страницы можно установить следующим образом:

PdfPage page = pdfDoc.getPage(1);

page.setPageLabel(PageLabelNumberingStyle.UPPERCASE_ROMAN_NUMERALS, "Cover", 1);

Однако итоговый PDF-файл будет иметь свою первую страницу с пометкой CoverI, и все последующие страницы будут также помечены. Я не хочу, чтобы что-либо добавлялось к моей метке страницы Cover, ни к какой-либо другой странице с меткой.

Итак, как мне установить метку страницы для одной страницы?

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

1 Ответ

0 голосов
/ 03 ноября 2019

Конфигурация метки страницы применяется к странице, на которую вы ее установили, и ко всем последовательным страницам. Таким образом, чтобы страница 2 имела стандартные арабские цифры, просто убедитесь, что конфигурация задана явно. Для случая, который вы упомянули, код будет выглядеть примерно так:

PdfPage page = pdfDocument.getPage(1);
page.setPageLabel(PageLabelNumberingStyle.UPPERCASE_ROMAN_NUMERALS, "Cover", 1);

page = pdfDocument.getPage(2);
int pageNumToStartFrom = 2; // Replace it with 1 if you want the blocks to be numbered independently
page.setPageLabel(PageLabelNumberingStyle.DECIMAL_ARABIC_NUMERALS, null, pageNumToStartFrom);

page = pdfDocument.getPage(4);
pageNumToStartFrom = 4; // Replace it with 1 if you want the blocks to be numbered independently
page.setPageLabel(PageLabelNumberingStyle.UPPERCASE_ROMAN_NUMERALS, null, pageNumToStartFrom);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...