![]() |
Aus Rave ein PDF File erzeugen ohne Report zu speichern
Hallo,
ich möchte gerne einen Rave-Report im Hintergrund (nicht sichtbar) füllen, als PDF-File ablegen und dem Anwender dann nur das PDF-File anbieten. Ich habe ![]() Ich habe "unter Google" den Tipp gefunden ich sollte direkt über den Stream gehen. Die Fehlermeldung ist aber dieselbe wie in dem oben genannten Thread. Exception der Klasse EReport Printer "Unexpected Header Code [82] found in Report File" Hier mein Code:
Delphi-Quellcode:
Als Vorschau kann ich den Report problemlos aufrufen und von dort aus auch "von Hand" als PDF speichern.
procedure Tfrm_main.Button2Click(Sender: TObject);
var NDRStream: TMemoryStream; sPdfFileName : string; bCreatePdfFile : boolean; begin sPdfFileName := sLokalerAnwendungsSystemPfad + 'willi.pdf'; // Steam erzeugen NDRStream := TMemoryStream.Create; // Report öffnen RvProject1.Open; // Text zuweisen ... // Grafik zuweisen ... // Report als Stream speichern rvproject1.SaveToStream(NDRStream); // Als PDF-File speichern NDRStream.Position := 0; bCreatePdfFile := true; try try RvRenderPDF1.PrintRender(NDRStream, sPdfFileName); except bCreatePdfFile := false; end; finally NDRStream.Free; end; if (bCreatePdfFile = true) then begin ShowMessage('Der Report wurde erstellt.'); ShellExecute(Handle, 'open', pchar(sPdfFileName), '', nil, SW_SHOW) end else ShowMessage('Der Report konnte nicht erstellt werden.'); end; Also kann mein Report doch nicht die Ursache sein? Vielleicht hat ja jemand eine Idee für mich. :gruebel: Gruß Holger. |
Re: Aus Rave ein PDF File erzeugen ohne Report zu speichern
Hallo,
ich habe in einem anderen Thread eine Lösung bekommen. So klappt es.
Delphi-Quellcode:
:thumb:
var
MeinBitmap: TRaveBitmap; MeineSeite: TRavePage; sPdfFileName : string; begin // Zieldateiname festlegen sPdfFileName := sLokalerAnwendungsSystemPfad + 'willi.pdf'; // Report öffnen RvProject1.Open; // Text zuweisen RvProject1.SetParam('Label_001', 'Hallo Welt'); // Grafik zuweisen with RvProject1.ProjMan do begin MeineSeite := FindRaveComponent('Report1.Page1', nil) as TRavePage; MeinBitmap := FindRaveComponent('Bitmap1', MeineSeite) as TRaveBitmap; MeinBitmap.Image.Assign(imgBarCode.Picture.Bitmap); end; // Ausgabe vorbereiten RvSystem1.DefaultDest := rdFile; RvSystem1.DoNativeOutput := false; RvSystem1.RenderObject := RvRenderPDF1; RvSystem1.OutputFileName := sPdfFileName; RvSystem1.SystemSetups := RvSystem1.SystemSetups - [ssAllowSetup]; // PDF anlegen RvProject1.ExecuteReport('Report1'); // Wenn vorhanden anzeugen oder Fehlemeldung if (fileexists(sPdfFileName) = true) then begin // Aufrufen des erzeugten Reportes ShellExecute(Handle, 'open', pchar(sPdfFileName), '', nil, SW_SHOW); end else begin // negative Abschlußmeldung ShowMessage('Der Report konnte nicht erstellt werden.'); end; |
Re: Aus Rave ein PDF File erzeugen ohne Report zu speichern
Hallo,
woher hast du denn TRaveBitmap, Travepage? in meiner RAD Studio 2007 sind die entsprechenden Komponenten nicht vorhanden. Grüsse Rainer |
Re: Aus Rave ein PDF File erzeugen ohne Report zu speichern
@WS1976,
hast du auch RvClass, RvCSStd unter Uses stehen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz