网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > Delphi精品代码 > 正文

保存RAVE报表为PDF文件

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

直接保存RAVE报表为PDF,需要TRvProject,TRvNDRWriter,TRvRenderPDF这三个部
件和TMemoryStream类!

      在Rave报告设计器中还需要这样一个步骤!

(1)在右侧对象树面版中选择对应的Report!
(2)通过左侧的对象属性面板修改对应Report的PageList属性,[Add Page]把所需要的页加
入到 Page List 中!

      如果不进行如上步骤,将只会生成第一页!   

      生成的pdf文件,英文没有任何问题,中文是乱码,经对源代码的研究主要是中文字
体处理方面有问题,本人正在通过网络需求高手解决!

--------------------------------------------------------------------------------
------------------------------

源代码如下:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RpRender, RpRenderPDF, RpBase, RpFiler, RpDefine, RpRave,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    RvProject1: TRvProject;
    RvNDRWriter1: TRvNDRWriter;
    RvRenderPDF1: TRvRenderPDF;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var
    NDRStream:TMemoryStream;
begin
    rvproject1.Engine:=RvNDRWriter1;

    rvproject1.Open;
    rvproject1.SelectReport('report1',true);        //选择要打印的报表

    RvNDRWriter1.FileName:='yydemo.ndr';
    RvNDRWriter1.StreamMode:=smfile;    //smMemory;   //保存成文件

    try
        NDRStream:=TMemoryStream.Create;              //建立内存流
        rvproject1.Execute;                           //输出报表数据

        NDRStream.LoadFromFile('yydemo.ndr');         //将报表数据调到内存流中

        RvRenderPDF1.OutputFileName:='test.pdf';    //存放的文件名
        RvRenderPDF1.Render(NDRStream);              //将内存流保存成PDF格式
        ShowMessage('生成报表文件成功!');
    except
        ShowMessage('生成报表文件错误!');
    end;
end;

end.
 

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师