Печать А3 или А4 с двухсторонней печатью.

отредактировано 04:52 Раздел: FastReport 4.0
Добрый день.

В общем-то по сути вопросов два.
1. Есть отчет, который помещается на лист формата А3. У большинства клиентов принтеры печатают только на А4. Получается, что для одного отчета необходимо два шаблона. Это не так уж и сложно, но может быть есть возможность разбивать отчет формата А3 на две страницы А4?

2. Тут уже всплывали темы двухсторонней печати отчета, но я так и не нашел решения. Есть две страницы шаблона, которые необходимо выводить с чередованием не только на печать но и на экран. В темах форума упоминалось свойство Duplex (в мануалах не нашел), но у меня при любых значениях отчет строится одинаково: сначала идет набор первой страницы, потом второй. Единственное решение - отдельное формирование первой и второй страницы (левой и правой частей отчёта), а программно программно формировать новый отчёт с попеременным занесением страниц.

Может есть другие варианты? Как можно задать порядок вывода Pag1,Page2 при формировании отчета?

Комментарии

  • gpigpi
    отредактировано 04:52
    1. Смотрите FRDemo секция What's new in Fast Report 4 отчёт Print A3 on A4 (split)
    2. Если Page1, Page2 выводятся отдельно для каждой записи датасета, то можно привязать датасет к TfrxReport
    Иначе, расположить содержимое Page2 на дочернем бенде и выводить его после окончания формирования нечётной страницы (скрипт будет зависеть от структуры Page1)
    В общем случае, можно сменить порядок страниц в сформированном отчёте
  • отредактировано 04:52
    gpi написал: »
    1. Смотрите FRDemo секция What's new in Fast Report 4 отчёт Print A3 on A4 (split)

    Да. Это проект я сразу и не посмотрел. :) Кривовато он разрезает, хотя если поколдовать, то можно и настроит. Но зависеть будет от принтера имхо. А вот вариант Print A5 on A4 (join) больше подходит под A4 на А3.
    gpi написал: »
    2. Если Page1, Page2 выводятся отдельно для каждой записи датасета, то можно привязать датасет к TfrxReport
    Иначе, расположить содержимое Page2 на дочернем бенде и выводить его после окончания формирования нечётной страницы (скрипт будет зависеть от структуры Page1)

    Строки Page2 есть продолжение строк Page1. Были мысли, но пока не пробовал. Спасибо.
    gpi написал: »
    В общем случае, можно сменить порядок страниц в сформированном отчёте

    Типа такого я и сделал.
    frTarifSpis->LoadFromFile("TarificMain.fr3");
    	frTarifSpisLeft->LoadFromFile("TarificLeft.fr3");
    	frTarifSpisRigth->LoadFromFile("TarificRigth.fr3");
    	dsTarifSpis->Enabled = false;
    	frTarifSpisLeft->PrepareReport(true);
    	frTarifSpisRigth->PrepareReport(true);
    	frTarifSpis->PrepareReport(true);
    	for(int i=0; i<frTarifSpisLeft->PreviewPages->Count; i++)
    	{
    		frTarifSpis->PreviewPages->AddPage(NULL);
    		n++;
    		frTarifSpis->PreviewPages->ModifyPage(n,frTarifSpisLeft->PreviewPages->Page[i]);
    		frTarifSpis->PreviewPages->AddPage(NULL);
    		n++;
    		frTarifSpis->PreviewPages->ModifyPage(n,frTarifSpisRigth->PreviewPages->Page[i]);
    	}
    
    	frTarifSpis->ShowPreparedReport();
    	dsTarifSpis->Enabled = true;
    

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.