Как отображать разрывы страниц в 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>
Работает отлично во всех браузерах