Самый простой метод, который я знаю, когда вам нужно сравнить текущую страницу с общим числом страниц, - это использовать для элемента тип оценки "auto".
С EvaluationTimeEnum
Переменные будут оцениваться во время, соответствующее их типу сброса.
Решение адаптировано из ответа Люциана на https://community.jaspersoft.com/questions/514622/print-when-last-page
Создать переменную, которая содержит текущую страницу с типом сброса Страница (таким образом, он оценивается, когда Авто в качестве номера текущей страницы)
<variable name="currentPageInAutoEval" class="java.lang.Integer" resetType="Page">
<variableExpression>$V{PAGE_NUMBER}</variableExpression>
</variable
для вашего элемента (textField, image и т. Д.) Установите время оценки "Авто" и в выражении используйте троичный оператор
В вашем случае нет изображения на последней странице, это будет
<image evaluationTime="Auto">
<imageExpression>$V{currentPageInAutoEval}.equals($V{PAGE_NUMBER}) ? null : yourImage</imageExpression>
</image>
Следовательно, с evalutationTime="Auto"
$V{currentPageInAutoEval}
будет оцениваться как resetType (Page) для номера текущей страницы, а $V{PAGE_NUMBER}
- как общее количество страниц.