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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RpBase, RpFiler, RpDefine, RpRave, StdCtrls, ExtCtrls, RpSystem,
RpRender, RpRenderCanvas, RpRenderPreview;
type
TForm1 = class(TForm)
Button1: TButton;
RvProject1: TRvProject;
Image1: TImage;
RvRenderPreview1: TRvRenderPreview;
ScrollBox1: TScrollBox;
RvNDRWriter1: TRvNDRWriter;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
procedure savepage(npage : integer);
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.savepage(npage : integer);
var
WBitmap,FBitmap : TBitmap;
Arect : TRect;
begin
rvRenderPreview1.RenderPage(npage);
FBitmap:=TBitmap.Create;
FBitmap.Height := rvRenderPreview1.Canvas.ClipRect.Bottom;
FBitmap.Width := rvRenderPreview1.Canvas.ClipRect.Right;
FBitmap.Canvas.CopyRect(rvRenderPreview1.Canvas.ClipRect,rvRenderPreview1.Canvas,rvRenderPreview1.Canvas.ClipRect);
WBitmap:=TBitmap.Create;
WBitmap.Height := 100;
WBitmap.Width := 50;
try
WBitmap.Canvas.StretchDraw(WBitmap.Canvas.ClipRect,FBitmap);
Wbitmap.SaveToFile('Page'+inttostr(npage)+'.bmp');
Image1.Picture.LoadFromFile('Page'+inttostr(npage)+'.bmp');
finally
Wbitmap.Free;
FBitMap.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var Strm : TFileStream;
i : Integer;
begin
strm := TFileStream.Create('test.ndr', fmCreate or fmOpenWrite);
try
RvNDRWriter1.StreamMode := smUser;
RvNDRWriter1.Stream := strm;
RvNDRWriter1.Start;
RvProject1.Close;
RvProject1.ProjectFile := 'C:\Lalet\LaletBDS\Test\Project1.rav';
RvProject1.Open;
rvProject1.ExecuteReport('report1');
RvNDRWriter1.Finish;
finally
RvRenderPreview1.Render(strm);
RvRenderPreview1.Active := True;
for i:=1 to rvRenderPreview1.Pages do
SavePage(i);
RvRenderPreview1.Active := False;
strm.Free;
end;
end;
end; |
Partager