2013-05-31 84 views
0

我有多個RVSystems設置每個有自己的單位打印每個報告。我有一個程序,用戶可以從列表中選擇他們想要查看的程序。Rave報告合併

我試圖解決的問題是如何將用戶選擇的組合起來,以便他們不必爲每個他們選擇的預覽/打印。我不想使用RVProject,因爲它們都是基於代碼的,我根本沒有使用.rav文件。謝謝!!!

我曾看過應該解決的Nevrona提示#41,但它使用帶.rav文件的RVProject訪問單獨的報告。

尼克

+0

我建議改變你的標籤之一爲'狂歡,reports'。你可能有更好的機會得到答案。 –

+0

謝謝,我很欣賞這個建議和編輯查爾斯! – user2141045

回答

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合併狂歡報告:

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

綱領性出口從Rave的報告快照文件 在這個例子中,eDocEngine將用於導出狂歡Reports報表來自NDR(Rave Report快照)文件。

打開IDE並創建一個VCL表單應用程序。 在窗體上拖放三個Rave Reports導出接口組件(TgtRaveExportInterface)。 在窗體上放置一個PDF引擎(TgtPDFEngine),RTF引擎(TgtRTFEngine)和XHTML引擎(TgtXHTMLEngine)組件。 將按鈕添加到窗體並設置該程序的Click事件處理程序

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;