powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport fp3
25 сообщений из 29, страница 1 из 2
FastReport fp3
    #39594977
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Столкнулись с проблемой, есть уже готовый отчет в формате fp3 со страницами формата A4, необходимо его вывести на экран в формате A3 и так чтоб было две страницы на одном листе.
Может кто сталкивался и сможет подсказать как решить данную проблему

Спасибо
...
Рейтинг: 0 / 0
FastReport fp3
    #39594982
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать формат А3 и вывод в 2 колонки. Правда могут быть проблемы с выравниванием.
...
Рейтинг: 0 / 0
FastReport fp3
    #39594983
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
FastReport fp3
    #39595010
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kast2K,

мне надо не на печать отправить, а именно вывести новый fp3 на экран
...
Рейтинг: 0 / 0
FastReport fp3
    #39595011
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSV,

это я понимаю , хотелось бы понять как это сделать
...
Рейтинг: 0 / 0
FastReport fp3
    #39595012
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то мне припоминается, что это в фасте (четвертом) уже имеется.
Он умеет автоматом объединять мелкие страницы под формат бумаги в принтере.
...
Рейтинг: 0 / 0
FastReport fp3
    #39595013
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
markamarkaмне надо не на печать отправить, а именно вывести новый fp3 на экран
И это соответственно будет на листе А3.
...
Рейтинг: 0 / 0
FastReport fp3
    #39595014
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во: PrintOptions.PrintMode = pmJoin. Соответственно в свойствах принтера указать бумагу А3, а отчет должен быть А4.
...
Рейтинг: 0 / 0
FastReport fp3
    #39595017
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

в отчете уже готовом fp3 есть несколько страниц формата A4, его нужно преобразовать так ,чтобы страницы были формата A3 и на одном листе было 2 страницы отчета
...
Рейтинг: 0 / 0
FastReport fp3
    #39595020
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

еще раз отмечу, мне не на печать отправить, а именно преобразовать отчет и вывести на экран
...
Рейтинг: 0 / 0
FastReport fp3
    #39595022
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
markamarkaеще раз отмечу
И я еще раз отмечу: превью формируется именно так, как уйдет в печать (два листа А4 на одном А3). Печатать при этом не обязательно.

Но мы можем еще пару раз этот момент обсудить...
...
Рейтинг: 0 / 0
FastReport fp3
    #39595024
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,


тогда я не очень понимаю как это сделать, можно поподробнее
вот загрузили в превью отчет fp3
дальше как изменить ему формат бумаги и объединить?
...
Рейтинг: 0 / 0
FastReport fp3
    #39595051
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчет и так уже A4. Остается поменять опции у frxReport: 21158133 и у принтера выставить А3.
...
Рейтинг: 0 / 0
FastReport fp3
    #39595072
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

извините, но непонятно, когда нужно поставить

frxReport.PreviewPages.LoadFromFile('1.fp3');

есть frxReport.PreviewPages.Page[1] и frxReport.PreviewPages.Page[2] (могу поменять каждой страницы размер)
но как их сделать на одной стрианце
написать frxReport.PrintOptions.PrintMode := pmJoin? так не помогает все равно остается 2 страницы



что нужно написать, чтобы после выполнения frxReport.ShowPreparedReport было то что надо
...
Рейтинг: 0 / 0
FastReport fp3
    #39595090
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
markamarkafrxReport.ShowPreparedReport
Это нужно делать при генерации отчета, а не после (когда страницы УЖЕ сформированы).

Смысл этих "махинаций" какой, если не печать?
...
Рейтинг: 0 / 0
FastReport fp3
    #39595104
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

отчеты передаются из другой организации в формате fp3 -это не обсуждается, условия тут поставить нельзя
клиент просит , чтобы была возможность преобразовать отчет и получить его на экране в таком виде, он говорит, ему так надо
...
Рейтинг: 0 / 0
FastReport fp3
    #39595108
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда остается своя форма предпросмотра.
...
Рейтинг: 0 / 0
FastReport fp3
    #39595110
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

а какая разница? так и делается через свою
только надо как то поместить все объекты первой страницы и второй на одну страницу - вот это не можем найти как
...
Рейтинг: 0 / 0
FastReport fp3
    #39595123
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
markamarkaвот это не можем найти как
У страниц есть метод
Код: pascal
1.
2.
procedure DrawPage(Index: Integer; Canvas: TCanvas; ScaleX, ScaleY,
      OffsetX, OffsetY: Extended); override;
...
Рейтинг: 0 / 0
FastReport fp3
    #39595312
gpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На экран вывести не получится. Нужно только переформировать отчёт.
Если очень нужно, то можно попробовать переносить каждый объект из сформированного отчёта на новую страницу формата А3
...
Рейтинг: 0 / 0
FastReport fp3
    #39595372
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gpiНа экран вывести не получится. Нужно только переформировать отчёт.
Если очень нужно, то можно попробовать переносить каждый объект из сформированного отчёта на новую страницу формата А3

вот мне это и надо, только что-то не получается, как целиком страницу перенести - тут есть примеры, а вот по объектно не получается
...
Рейтинг: 0 / 0
FastReport fp3
    #39595376
markamarka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уже попробовали сам файл просто поправить - работает, но страшновато, вдруг в нем чего-нибудь не то поправишь не ту позицию и потом будет неправильно
хотелось бы именно процедурами, что берется объект со страницы и переносится в такую-то позицию другой страницы
...
Рейтинг: 0 / 0
FastReport fp3
    #39595829
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
markamarka,

А что в техподдержке фаста рекомендуют?
...
Рейтинг: 0 / 0
FastReport fp3
    #39595853
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понимаю - из

1
2
3
4
5
6
7


надо получить
1 2
3 4
5 6
7

Собственно, содержимое страниц не меняется. Просто страницы попарно объединяются. Так? И всё это только на экране, печатать не надо.
...
Рейтинг: 0 / 0
FastReport fp3
    #39595880
_Den_Z_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
markamarka,

Как-то так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
var
  i: Integer;
  c: TfrxComponent;
  IsEven: Boolean;
begin
  frxReport.PrepareReport();
  IsEven := False;
  i := 0;
  while (i < frxReport.PreviewPages.Count) do
    if IsEven then
    begin
      frxReport.PreviewPages.Page[i - 1].PaperSize := DMPAPER_A3;
      while (frxReport.PreviewPages.Page[i].Objects.Count > 0) do
      begin
        c := TfrxComponent(frxReport.PreviewPages.Page[i].Objects[0]);
        c.Left := frxReport.PreviewPages.Page[i - 1].PaperWidth * fr01cm / 2;
        c.Parent := frxReport.PreviewPages.Page[i - 1];
      end;
      frxReport.PreviewPages.ModifyPage(i - 1, frxReport.PreviewPages.Page[i - 1]);
      frxReport.PreviewPages.ModifyPage(i, frxReport.PreviewPages.Page[i]);
      frxReport.PreviewPages.DeletePage(i);
      IsEven := False;
    end
    else
    begin
      IsEven := True;
      Inc(i);
    end;
  frxReport.ShowPreparedReport;
end;
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport fp3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]