Вопрос:

Джаспер Отчеты обрезая большую строку между страницами

java string

56 просмотра

1 ответ

71 Репутация автора

Я не знаю, подходит ли термин «резка» ...

Я должен закончить создание большого и сложного отчета, основанного на унаследованной системе Апплета, и я решил попробовать повторно использовать всю логику в апплете, чтобы избежать сложности создания большого количества подчиненных отчетов. Мы скопировали всю логику в апплете, которая включает в себя множество условных выражений / SQL и создали огромную и правильно отформатированную строку, так что в нашем файле Jasper у нее был бы только метод myVo.getBody (), кроме верхний и нижний колонтитулы.

К сожалению, мы обнаружили проблему, что некоторая часть текста теряется между страницами. Я думаю, что по мере того, как текст становится больше и по каким-то причинам достигает лимита страниц в Jasper, он продолжает записываться в «невидимой области», и когда начинается содержимое следующей страницы, какая-то часть теряется.

Например, есть список из 19 пунктов и что происходит:

Конец 2-й страницы 1 - позиция 2 - начало статьи 3-й страницы 18 - позиция 19 - позиция

Пункты с 3 по 17 не показываются.

Есть ли какая-либо конфигурация Jasper для этой ситуации?

Мы попробовали: Тип позиции: Fix Относительно верха и Тип растяжения поплавка: Относительно объекта Tallers и Относительно растяжения по высоте полосы с оверфлотом: true или false

Я не думаю, что показ кода Java был бы полезен, поскольку он просто использует StringBuffer для построения String, помещая его в свойство body в PreparedDocumentVO, чтобы модель Jasper могла его использовать. Кажется, это какая-то настройка Джаспера, или идея создания огромной строки не так хороша, как мы думали.

Автор: Scrougge Источник Размещён: 22.08.2016 09:17

Ответы (1)


1 плюс

58744 Репутация автора

Решение

Я бы подумал разбить результат.

Jasper форматирует информацию на основе относительного размера страницы. Это означает, что в какой-то момент времени при работе с информацией, которая вряд ли уместится на странице, Jasper, вероятно, сделает предположение, что оно не выполняется (и ваши данные, скорее всего, не будут отформатированы на странице).

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

Автор: Edwin Buck Размещён: 22.08.2016 09:34
Вопросы из категории :
32x32