Rave报告合并

时间:2013-05-31 15:29:34

标签: delphi merge report delphi-7 rave-reports

我有多个RVSystems设置,每个都有自己的单位,每个都打印一份报告。我有一个程序,用户可以从列表中选择他们想要查看的内容。

我试图解决的问题是如何组合用户选择的问题,这样他们就不必为他们选择的每个人预览/打印。我不想使用RVProject,因为它们都是基于代码的,我根本不使用.rav文件。感谢!!!

我查看了应该解决的Nevrona提示#41,但它使用带有.rav文件的RVProject来访问单独的报告。

尼克

1 个答案:

答案 0 :(得分:0)

WPCubed wPDF可以将多个RAVE报告打印成一个PDF文件:

http://www.wpcubed.com/manuals/wpdf/index.html?ravereport.htm

示例2: 将多个NDR文件直接渲染到PDF文件“c:\ rave.pdf”。它使用一个打开的对话框让您选择文件。

procedure TForm1.Button1Click(Sender: TObject);
var
   OpenDialog: TOpenDialog;
    RvRenderWPDF: TRvRenderWPDF;
    WPPDFPrinter: TWPPDFPrinter;
    FileStream: TFileStream;
    output: string;
    i: Integer;
begin
OpenDialog := TOpenDialog.Create(Self);
OpenDialog.Options := [ofAllowMultiSelect];
RvRenderWPDF := TRvRenderWPDF.Create(Self);
WPPDFPrinter := TWPPDFPrinter.Create(Self);
try
   OpenDialog.Filter := 'NDF Files|*.NDR';
   RvRenderWPDF.PDFPrinter := WPPDFPrinter;
   RvRenderWPDF.Active := TRUE;
   WPPDFPrinter.AutoLaunch := TRUE;
   WPPDFPrinter.CompressStreamMethod := wpCompressFastFlate;
   if OpenDialog.Execute then
   begin
     output := 'dummy';
     WPPDFPrinter.Filename := 'c:\rave.pdf';
     WPPDFPrinter.BeginDoc;
     try
       for i := 0 to OpenDialog.Files.Count - 1 do
       begin
         FileStream := TFileStream.Create(OpenDialog.Files[i], fmOpenRead);
         try
           RvRenderWPDF.PrintRender(FileStream, output);
         finally
           FileStream.Free;
         end;
       end;
     finally
       WPPDFPrinter.EndDoc;
     end;
   end;
finally
   OpenDialog.Free;
   RvRenderWPDF.Free;
   WPPDFPrinter.Free;
end;
end;

也许您可以使用Gnostice eDocEngine合并Rave Reports:

http://www.gnostice.com/nl_article.asp?id=247&t=Export_From_Rave_Reports_To_PDF_And_Other_Formats

从Rave报告快照文件进行编程导出 在此示例中,eDocEngine将用于从NDR(Rave报告快照)文件导出Rave Reports报告。

打开IDE并创建VCL表单应用程序。 在表单上删除三个Rave Reports导出接口组件(TgtRaveExportInterface)。 在表单上删除PDF引擎(TgtPDFEngine),RTF引擎(TgtRTFEngine)和XHTML引擎(TgtXHTMLEngine)组件。 向表单添加一个按钮,并为其单击事件处理程序

设置此过程
procedure TForm5.Button2Click(Sender: TObject);
begin
  // Set output engines for the report export components
  gtRaveExportInterface1.Engine := gtPDFEngine1;
  gtRaveExportInterface2.Engine := gtRTFEngine1;
  gtRaveExportInterface3.Engine := gtXHTMLEngine1;

  // Disable output preferences dialog boxes
  gtPDFEngine1.Preferences.ShowSetupDialog := false;
  gtRTFEngine1.Preferences.ShowSetupDialog := false;
  gtXHTMLEngine1.Preferences.ShowSetupDialog := false;

  // Set output file name of the engines
  gtPDFEngine1.FileName := 'eDoc_Rave_Demo.pdf';
  gtRTFEngine1.FileName := 'eDoc_Rave_Demo.rtf';
  gtXHTMLEngine1.FileName := 'eDoc_Rave_Demo.html';

  // Export a Rave Reports snapshot file to PDF, RTF and XHTML
  gtRaveExportInterface1.RenderDocument('eDoc_Rave.ndr');
  gtRaveExportInterface2.RenderDocument('eDoc_Rave.ndr');
  gtRaveExportInterface3.RenderDocument('eDoc_Rave.ndr');
end;