Как распечатать многостраничный отчет в моем веб-приложении? - PullRequest
3 голосов
/ 03 января 2012

У меня есть веб-приложение, которое создает отчеты в формате HTML.Иногда таких отчетов становится очень много, и в окне отображаются полосы прокрутки.У меня проблема в том, что я могу просто напечатать то, что вижу на веб-странице, и всякий раз, когда я хочу их распечатать, у меня есть не более 1 страницы для печати.Поэтому я теряю другие отчеты, которые я ожидаю увидеть в других статьях.

Что мне делать?

Ответы [ 2 ]

7 голосов
/ 03 января 2012

характер проблемы

Ваша проблема связана с стайлингом .

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

Применение различных таблиц стилей к экрану и печать

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

Вы можете сделать это так в HTML:

<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
<link rel="stylesheet" type="text/css" media="print" href="print.css" />

или подобное в CSS ( пример из W3C ):

@import url("fancyfonts.css") screen;
@media print {
    /* style sheet for print goes here */
}

Стиль, специфичный для печати

Подробнее о стилях печати см. На следующей странице: http://www.w3.org/TR/CSS2/page.html

В вашем случае может оказаться полезным следующее оформление:

table { page-break-inside: auto; }
tr { page-break-inside: avoid; page-break-after: auto; }
thead { display: table-header-group; }
tfoot { display: table-footer-group; }

Это разрешит разрывы страниц внутри таблицы, постарается избежать разрывов страниц внутри строк и будет повторять как верхние, так и нижние колонтитулы таблицы на каждой странице. Однако убедитесь, что он работает в ваших целевых браузерах.

0 голосов
/ 03 января 2012

Если вы используете ASP.NET, используйте Crystal Reports.

Если вы используете Java EE, используйте JasperReports.

Если вы используете PHP, используйте FPDF (может быть что-тои еще).

Эти инструменты лучше подходят для составления отчетов, чем для чистого HTML.

...