iTextSharp: есть ли способ переопределить номера жестких страниц в PDF? - PullRequest
1 голос
/ 04 марта 2011

У меня есть документ с титульной страницей, оглавлением и фактическим содержанием.Первая страница после оглавления нумеруется «1» в нижнем колонтитуле.

Скажем, документ содержит 130 страниц, 128 страниц фактического содержания, кроме обложки и оглавления.Я хочу, чтобы моя аудитория смогла подняться на вершину читателя Adobe и увидеть 1/128, а не 1/130.Когда они вводят 1 или 2 и т. Д. В это поле, он переходит на страницу 1 или две реального содержимого (а не на титульную страницу или оглавление).Это возможно?

1 Ответ

1 голос
/ 08 марта 2011

Вы можете получить требуемые результаты с помощью «Ярлыков страниц».

PdfPageLabels labels = new PdfPageLabels();
// label the first two pages "i" and "ii"
labels.addPageLabel( 1, PdfPageLabels.LOWERCASE_ROMAN_NUMERALS );
// label the following pages "1, 2, ..."
labels.addPageLabel( 3, PdfPageLabels.DECIMAL_ARABIC_NUMERALS );

myPdfWriter.setPageLabels( labels );

Вы также можете присвоить каждой странице уникальную строку, а не номера страниц:

labels.addPageLabel( pageNum, PdfPageLabels.EMPTY, pageNameStr );

Я вижу «Страница 1» в поле ввода текста, с (1 из 3) в сером тексте рядом с ним. Я не думаю, что вы можете изменить "N", только эту первую часть.

Предупреждение : я только что обнаружил, что диалоговое окно "номер" страницы в Acrobat X ограничено 8 символами. Невозможно ввести любую метку длиннее этой.

...