网站导航免费论文 原创论文 论文搜索 作业答案 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 交易代码 > Delphi精品代码 > 正文
保存RAVE报表为PDF文件
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: Admin 发布时间: 10/06/20

直接保存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.
 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 电话:013574892963 QQ:3710167 邮箱:Educs@163.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 Www.myeducs.Cn All Rights Reserved
湘ICP备09003080号