Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport и экспорт в PDF / 7 сообщений из 7, страница 1 из 1
29.01.2018, 09:46
    #39592610
AndrewMI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport и экспорт в PDF
Всем привет! Может кто подскажет.
FastReport 4.9 при выгрузке в PDF получаются очень большие файлы. Отчеты по > 1000 страниц выходят около 1 Гб.
Пробовал заменить на экспорт в PDF от Synopse (SynPDF). Файл уменьшился в разы, но некорректно отображаются некоторые элементы отчета, например те, где есть html-теги. Пытался использовать разные настройки, но заметного улучшения не добился.
Кто сталкивался? Подскажите, как можно решить?
Возможно, в 5-х версиях экспорт в PDF сжимает лучше, но пока возможности приобрести нет.
...
Рейтинг: 0 / 0
29.01.2018, 11:28
    #39592677
gpi
gpi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport и экспорт в PDF
Попробуйте использовать PDF-принтер. В пятой версии экспорт TfrxMemoView c HTML-тэгами аналогичный. Изменения сделаны только в шестой версии
...
Рейтинг: 0 / 0
29.01.2018, 12:13
    #39592709
AndrewMI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport и экспорт в PDF
gpi, да, так пока и делаю. Использую встроенный в Win10 принтер. Спасибо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
15.02.2021, 09:48
    #40045346
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport и экспорт в PDF
обратная задача
FastReport 4.9 - можно ли выгрузить в пдф, чтобы каждая страница была цельная картинкой
...
Рейтинг: 0 / 0
15.02.2021, 12:48
    #40045416
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport и экспорт в PDF
andreymx
FastReport 4.9 - можно ли выгрузить в пдф, чтобы каждая страница была цельная картинкой

Из коробки - нет.
А так печатаешь каждую страницу, вместо Canvas от принтера на Canvas твоей картинки. А потом добавляешь полученную картинку в PDF (например через SynPDF).
...
Рейтинг: 0 / 0
15.02.2021, 13:03
    #40045422
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport и экспорт в PDF
Как то так, я накидал немного:

Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
type  
  TImageExport = class(TfrxCustomExportFilter)
  private
    FPageNumber : integer; 
    FBmp        : TBitmap;
    
    procedure EndPageAndSave();
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy(); override;  
  
    function    Start: Boolean; override;
    procedure   ExportObject(Obj: TfrxComponent); override;
    procedure   StartPage(Page: TfrxReportPage; Index: Integer); override;
    procedure   Finish; override;
  end;
  
//------------------------------------------------------------------------------
constructor TImageExport.Create(AOwner: TComponent);
begin
   FBmp := TBitmap.Create();
end;
//------------------------------------------------------------------------------
destructor TImageExport.Destroy();
begin
   FBmp.Free();
end;
//------------------------------------------------------------------------------  
function TImageExport.Start: Boolean;
begin
  FBmp.Width:=0;
  FBmp.Height:=0;
  
  FPageNumber := -1; // start with 0
  //TODO: Start PDF Document
end;  
//------------------------------------------------------------------------------
procedure TImageExport.ExportObject(Obj: TfrxComponent);
begin
   TfrxView(Obj).Draw(FBmp.Canvas,1,1,0,0 ); // ScaleX, ScaleY, OffX, OffY
end;
//------------------------------------------------------------------------------
procedure TImageExport.EndPageAndSave();
begin
   //TODO: FBmp ===> PDF-Page
end;
//------------------------------------------------------------------------------
procedure TImageExport.StartPage(Page: TfrxReportPage; Index: Integer);
begin
  inc(FPageNumber);

  if FPageNumber>0 then EndPageAndSave();

  //fPaperWidthInch := Page.PaperWidth / 25.4;
  //iDesignDPI      := Round(Page.Width / lPaperWidthInch);

  FBmp.Width:=Round(Page.Width);
  FBmp.Height:=Round(Page.Height);

  //TODO: Start PDF Page
end;
//------------------------------------------------------------------------------
procedure TImageExport.Finish(); override;
begin
   if FPageNumber>=0 then EndPageAndSave();
   //TODO: Save PDF Document and close
end;  
//------------------------------------------------------------------------------
...
Рейтинг: 0 / 0
15.02.2021, 13:31
    #40045434
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport и экспорт в PDF
спасибо, коллеги
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport и экспорт в PDF / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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