Birt Eclipse двусторонняя печать - PullRequest
0 голосов
/ 23 января 2020

Я искал ответ на этот вопрос. Как мне распечатать дуплекс или создать двусторонний PDF, используя BIRT + eclipse? Я создаю документы, которые содержат несколько отчетов, и часто отчеты являются многостраничными. Как заставить страницы заголовка всегда быть «страницей 1» и не допустить попадания следующего отчета в конец предыдущего отчета?

1 Ответ

0 голосов
/ 24 января 2020

Это не 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).

...