Я хотел бы использовать открытые стандарты для печати отчетов, этот отчет должен будет содержать промежуточные итоги в конце каждой страницы.
Поток Использование XSL-FO, CSS3 вместо CSS2 для создания разбитых на страницы документов, таких как PDF?, указывает, что HTML с CSS3 - это путь.
Теперь проблема, которую я получаю, определяет с помощью HTML или CSS или с JS место, где будет заполняться страница А4, чтобы появилась страница.
Есть селектор разбиения страницы CSS:
page-break-before: always | avoid — always/avoid page breaks before the item
page-break-after: always | avoid — always/avoid page breaks after the item
page-break-inside: always | avoid — always/avoid page breaks in the middle of the item
Но они не очень полезны для целей промежуточных результатов на каждой странице, поскольку я не знаю, когда будет заполняться страница, чтобы я мог разместить там тег с таким CSS, который был применен к нему.
Тэг HTML TABLE поддерживает некоторые заголовки и нижние колонтитулы таблицы, которые кажутся многообещающими:
Строки таблицы могут быть сгруппированы в таблицу, стопку стола и одну или больше секций тела стола, используя элементы THEAD, TFOOT и TBODY, соответственно. Это подразделение позволяет агентам пользователей поддерживать прокрутку столовых тел независимо от головы стола и стопы. Когда таблицы печатаются, голова стола и информация о ноге могут быть повторяется на каждой странице, содержащей данные таблицы.
<TABLE>
<THEAD>
<TR> ...header information...
</THEAD>
<TFOOT>
<TR> ...footer information...
</TFOOT>
<TBODY>
<TR> ...first row of block one data...
<TR> ...second row of block one data...
</TBODY>
<TBODY>
<TR> ...first row of block two data...
<TR> ...second row of block two data...
<TR> ...third row of block two data...
</TBODY>
</TABLE>
Но это опять-таки не очень полезно, так как те же нижние колонтитулы будут отображаться на всех страницах с одинаковыми промежуточными итогами, а не для каждой страницы. В противном случае я должен сделать таблицу с разными TFOOT и TBODY, статической структурой в соответствии с тем, когда страница заполнена... но я не могу получить такую информацию, только количество строк, которые я мог бы указать при построении HTML Таблица. Я не вижу способа их создания, так как размер A4 соответствовал бы им.
Я не знаю, может, XSLT поможет здесь или javascript? Есть ли открытый стандарт CSS3, HTML5 или другое решение для этой проблемы, о котором я не знаю? Если нет, кто-нибудь знает обходной путь, примеры для решения этого вопроса?