Я использую XSL-FO для распечатки выписки по счету.На самом деле PDF - это простая таблица с простым заголовком на каждой странице.Сложность заключается в том, что мне приходится отображать объемы транзакций на странице, например
Page 1
+------------------------------+-----------+-----------+---------------------+
| Text | Credit | Debit | Balance |
+------------------------------+-----------+-----------+---------------------+
| Previous month | | | (*1) 1000 |
| abc | 1000 | | 2000 |
| abc | | 500 | 1500 |
| abc | | 200 | 1300 |
| ... | | | |
| Carry over | (*2) 1000 | (*3) 700 | (*4) 1300 |
+------------------------------+-----------+-----------+---------------------+
Page 2
+------------------------------+-----------+-----------+---------------------+
| Text | Credit | Debit | Balance |
+------------------------------+-----------+-----------+---------------------+
| Previous page | (*2) 1000 | (*3) 700 | (*4) 1300 |
| abc | 1000 | | 2300 |
| abc | | 500 | 1800 |
| abc | | 200 | 1600 |
| ... | | | |
| Carry over | (*2) 2000 | (*3) 1400 | (*4) 1600 |
+------------------------------+-----------+-----------+---------------------+
Вот некоторые объяснения:
- Это баланс предыдущего месяца.Он предварительно рассчитан и известен как переменная XSL.Нет проблем с этим, это обычный заголовок (только на первой странице)
- Это значение рассчитывается для каждой страницы.Суммирует все суммы кредита на одной странице.Я не могу рассчитать это сам, так как я не знаю, когда XSL-FO сделает разрыв страницы.Так что я думаю, что XSL-FO должен сделать за меня расчеты.Сумма внизу страницы совпадает со значением вверху следующей страницы.
- Это значение равно 2, только для дебетовых сумм.
- Это значениетолько остаток последней транзакции внизу страницы.Это значение повторяется в верхней части следующей страницы.
Как я могу выполнить эти вычисления с XSL-FO?
См. Также этот связанный вопрос: Как отобразитьта или иная информация в зависимости от номера страницы в XSL-FO?