Подтвердить что ты не робот

С Flying Saucer, как мне создать PDF-код с номером страницы и общей страницей на каждой странице нижнего колонтитула?

Мне потребовалось немного больше исследований, чем мне хотелось бы разобраться в этом, поэтому я собираюсь опубликовать здесь всеобъемлющий ответ. Похоже, что информация для этого распространяется на разных сайтах, и я хотел бы разместить ее в одном месте. Этот ответ может быть одним и тем же, но мои глаза глазуруют, потому что это в строке Java, а не в html-шаблоне. Здесь возникает вопрос:

Я создаю PDF файл, и я хочу нижний колонтитул внизу страницы, где указано "Страница n of m", где "n" - номер страницы, на которой вы находитесь, и "m" - это общая страница документа. Как мне это сделать?

4b9b3361

Ответ 1

В вашем html вам нужно поместить это где-нибудь в тег body:

<div id="footer">
    page <span id="pagenumber"></span> of <span id="pagecount"></span>
</div>

И это должен быть ваш CSS/стиль:

    #footer {
        position: running(footer);
        text-align: right;
    }

    @page {
        @bottom-right {
            content: element(footer);
        }
    }

    #pagenumber:before {
        content: counter(page);
    }

    #pagecount:before {
        content: counter(pages);
    }

Вы можете узнать больше о том, что @bottom-right варианте здесь.

Ответ 2

Вы также можете попробовать несколько более сжатый подход:

@page {
  @bottom-right {
    content: "Page " counter(page) " of " counter(pages);
  }
}

Вы должны поместить это в свой CSS/стиль, и вам не нужно добавлять дополнительный HTML-элемент нижнего колонтитула.

Ответ 3

Решение @John Mark работало для меня. В моем приложении мне нужно было вставить информацию о стиле в HTML, поэтому я завернул это в теги <style> и поместил его внутри <head> before <title>. Возможно, эта информация будет полезна кому-то другому.