Как отображать разрывы страниц в PDF, созданные Rotativa

В моем приложении ASP.NET MVC 4 у меня есть индексный просмотр с несколькими частичными представлениями, встроенными в него. Я установил последнюю версию 1.6.1 из Rotativa через NuGet. Теперь я могу распечатать индексную страницу в PDF с помощью Rotativa. Я хотел бы иметь разрыв страницы в PDF после каждого частичного просмотра. Как это можно достичь с помощью Rotativa?

Я попытался использовать этот пример для использования CustomSwitches, но, похоже, для разрыва страницы не существует. Я использовал эту статью для создания PDF

Ответы

Ответ 1

Если вы используете 1.6.1, вы можете просто добавить разрывы страниц в CSS (это не работает последовательно в 1.5.0, я не тестировал 1.6.0)

Итак, добавьте этот стиль не к определенному элементу, как p.breakhere {...}, но, как показано ниже (у некоторых людей были проблемы с определенным элементом)

<STYLE TYPE="text/css">
 .breakhere { page-break-after: always }
</STYLE>

Тогда в вашем html просто сделайте это

<P CLASS="breakhere">

И это должно сломаться. Имейте в виду, что 1.6.1 имеет ошибку с изображениями Ghosted, с перерывами... См. Эту запись SO Ссылка

Ответ 2

Ответ правильный, но вы должны сделать это иначе, как:

<div style="page-break-after: always;">Content before page breaks</div>
<div>Content after page breaks<div>

Это трюк!

Надеюсь, что это поможет!

Ответ 3

Вы можете использовать любой из этих трех CSS-кодов, чтобы установить разрыв страницы для элемента,

page-break-after
page-break-before
page-break-inside

Согласно вашей ситуации.

Ответ 4

Это работает каждый раз для меня и во всех браузерах. Мое приложение - ASP.NET MVC3 Razor.

В вашей таблице стилей (.css) или в теге стиля поставьте это:

@media all {    .page-break { display: none; } }

@media print {  .page-break { display: block; page-break-before: always; } }

Если вы хотите, чтобы ваша страница разбилась, поставьте это:

<div class="page-break"></div>

Работает отлично во всех браузерах