Это не BIRT topi c.
Когда вы говорите, что печатаете из BIRT, технически это не так. Вы создаете файл PDF с BIRT и каким-то образом печатаете этот файл.
К сожалению, формат файла PDF не поддерживает инструкции для физического разрыва страницы при заданном логическом разрыве страницы.
Таким образом, если вы не знаете во время генерации, будет ли полученный файл напечатан в дуплексном режиме, это невозможно контролировать.
Если вы знаете, что в большинстве случаев файл будет напечатан в дуплексном режиме, Вы можете вставить пустые страницы в определенные места (возможно, с текстом «эта страница намеренно оставлена пустой»), но это приводит к потере страниц, если файл печатается односторонним.
В любом случае, это все равно оставляет вас с двумя задачами:
1) Использовать другую мастер-страницу при запуске нового раздела отчета.
2) Поиск места для вставки пустых страниц.
Первая Задача на самом деле довольно проста. В BIRT вы можете иметь разные главные страницы (скажем, «первая страница» и «следующая страница»). Вы можете выбрать главную страницу для использования в свойствах элементов макета в BIRT. Попробуйте!
Вторая задача выходит за рамки BIRT, вам понадобится какая-то пост-обработка PDF здесь. Идея заключается в следующем:
Используйте BIRT для создания PDF-файла. Используйте свойство BIRT TO C entry, чтобы создать PDF TO C (также называемый Outline). Это структура документа, показанная слева, если вы откроете файл в Adobe Reader.
Используйте постпроцессор PDF (например, на основе iText или чего-либо еще), чтобы прочитать записи TO C. Каждая запись содержит информацию о странице, на которую она указывает. Теперь, если вы хотите распечатать дуплекс и запись начинается на четной странице (на основе 1), вставьте пустую страницу перед этой страницей.
Это возможно, но займет не менее нескольких часов Java программирование (или несколько дней, в зависимости от вашего опыта работы с выбранным вами инструментом обработки PDF).