Вставьте разрывы страницы между группами отчета с двухсторонней печатью

Стоп там!

существует потенциально серьезная проблема с этим кодом, потому что это игнорирует кодировку символов, определенную в String (который является UTF-8 по умолчанию). Когда Вы звоните String.getBytes(), кодировка по умолчанию платформы используется для кодирования символов Unicode к байтам. Так, синтаксический анализатор может думать, что это получает данные UTF-8, когда на самом деле это получает EBCDIC или something… не симпатичный!

Вместо этого используйте метод синтаксического анализа, который берет InputSource, который может быть создан с Читателем, как это:

import java.io.StringReader;
import org.xml.sax.InputSource;
…
        return builder.parse(new InputSource(new StringReader(xml)));

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

13
задан 4444 28 August 2017 в 13:59
поделиться

1 ответ

Это можно сделать с помощью ключевых слов onfirstrecord , номер страницы и onlastrecord .

в разделе заголовка группы Формула «Новая страница перед» ...

not onfirstrecord //so every group (except the first) starts on a new page

В формуле «Новая страница после» ...

//to keep the group from starting on even page but make sure the last page is not blank
remainder(pagenumber, 2) = 1 and not onlastrecord 
19
ответ дан 1 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: