AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Aus Rave ein PDF File erzeugen ohne Report zu speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Aus Rave ein PDF File erzeugen ohne Report zu speichern

Ein Thema von little_budda · begonnen am 1. Jan 2009 · letzter Beitrag vom 6. Jan 2009
Antwort Antwort
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#1

Aus Rave ein PDF File erzeugen ohne Report zu speichern

  Alt 1. Jan 2009, 10:14
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 HIER schon einmal versucht den Weg über ein temporäres NDR-File zu gehen, klappt aber auch nicht.

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:
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;
Als Vorschau kann ich den Report problemlos aufrufen und von dort aus auch "von Hand" als PDF speichern.
Also kann mein Report doch nicht die Ursache sein?

Vielleicht hat ja jemand eine Idee für mich.



Gruß Holger.
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Aus Rave ein PDF File erzeugen ohne Report zu speichern

  Alt 6. Jan 2009, 11:33
Hallo,
ich habe in einem anderen Thread eine Lösung bekommen.
So klappt es.

Delphi-Quellcode:
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;
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
WS1976
(Gast)

n/a Beiträge
 
#3

Re: Aus Rave ein PDF File erzeugen ohne Report zu speichern

  Alt 6. Jan 2009, 12:53
Hallo,

woher hast du denn TRaveBitmap, Travepage?
in meiner RAD Studio 2007 sind die entsprechenden Komponenten nicht vorhanden.

Grüsse
Rainer
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Aus Rave ein PDF File erzeugen ohne Report zu speichern

  Alt 6. Jan 2009, 18:03
@WS1976,

hast du auch RvClass, RvCSStd unter Uses stehen?
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz