Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Pdf erstellen mit Rave
Bennle - Mo 19.12.05 22:50
Titel: Pdf erstellen mit Rave
Hallo,
Ich möchte gerne mein RichEdit-Text als PDF mit Rave drucken bzw sofort speichern. Allerdings hab ich keine Ahnung ob Rave damit funktioniert oder geeignet ist. Kann mir das einer erklären und evtl gleich den nötigen Code liefern?
Ich wäre darüber sehr dankbar!
MfG
Bennle
UGrohne - Mo 19.12.05 22:56
Du brauchst eigentlich nur die TRvRenderPDF-Komponente einbinden, sie zu aktivieren und kannst dann z.B. mit folgendem Code das PDF erzeugen lassen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| RvSystem1.DefaultDest:=rdFile; RvSystem1.DoNativeOutput:=false; RvSystem1.RenderObject:=RvRenderPDF1; RvSystem1.OutputFileName:='C:\test.pdf'; RvProject1.ExecuteReport('Report'); |
Bennle - Mo 19.12.05 23:14
UGrohne hat folgendes geschrieben: |
Du brauchst eigentlich nur die TRvRenderPDF-Komponente einbinden, sie zu aktivieren und kannst dann z.B. mit folgendem Code das PDF erzeugen lassen:
Delphi-Quelltext 1: 2: 3: 4: 5:
| RvSystem1.DefaultDest:=rdFile; RvSystem1.DoNativeOutput:=false; RvSystem1.RenderObject:=RvRenderPDF1; RvSystem1.OutputFileName:='C:\test.pdf'; RvProject1.ExecuteReport('Report'); | |
Hallo,
Ok danke, aber ich bekomm eine Fehlermeldung! "The following reporting project does not exsist"
Was bedeutet das?
Und wo setze ich meinen Richedit ein? Und wie genau das es als RDF ist?
MfG
Bennle
PS: Bin ein Neuling bei der Textbe-/verarbeitung
UGrohne - Mo 19.12.05 23:36
OK, ich hab Deinen Text nicht komplett genau durchgelesen, daher mein kleiner Fehler. Ich bin davon ausgegangen, dass Du bereits ein Rave-Projekt hast, mit dem Du drucken kannst und nur noch die PDF-Funktionalität brauchst. Ich versuche das jetzt mal nachzuvollziehen, da ich normalerweise Rave nur in Verbindung mit Datenbanken verwende.
Aber schau besser nochmal hier im Forum nach PDF, es gibt bestimmt einfachere Dinge für DIch als für so etwas Rave zu verwenden. Du musst nämlich erstmal mehrere Komponenten verwenden und dann erst noch einen Report dafür erstellen.
UGrohne - Mo 19.12.05 23:58
Aaaaaalso, hab das mal eben kurz ausprobiert. Geht eigentlich ;-)
Du brauchst eine RvSystem-Komponente, eine RvProject-Komponente und die oben besagte RvRenderPDF. In der RvSystem habe ich unter SystemSetups ssAllowSetup auf False gesetzt, damit das Auswahl-fenster nicht erscheint.
Danach klickst Du doppelt auf die Project-Kompo um den Designer zu starten. In dem Report plazierst Du eine DataMemo-Kompo, so wie du sie willst. Bei dieser noch ContainsRTF auf True setzen und DataField Param.RTF eingeben. Damit wird das Memo wird dem Inhalt des Parameters namens RTF befüllt.
Dieses Projekt dann speichern. Du kannst es danach mit der Eigenschaft StoreRave der RvProject-Kompo in Deine EXE kompilieren lassen, damit Du die Datei nicht selbst mitliefern brauchst.
Ja, und dann nur noch nen Button, ein RTF und nen Edit auf das Form und shcon kannst Du mit folgendem Code ein RTF erzeugen lassen, das in der in Edit1 angegeben Datei gespeichert wird:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Button2Click(Sender: TObject); var memstream: TMemoryStream; size: Integer; text: String; begin memstream := TMemoryStream.Create; RichEdit1.Lines.SaveToStream(memstream); memStream.Position := 0; Size:=memstream.Size; SetString(text,nil,Size); memstream.Read(PChar(text)^,Size); RvProject1.SetParam('RTF',text); RvSystem1.DefaultDest:=rdFile; RvSystem1.DoNativeOutput:=false; RvSystem1.RenderObject:=RvRenderPDF1; RvSystem1.OutputFileName:=Edit1.Text; RvProject1.ExecuteReport('Report1'); end; |
So einfach ist das :mrgreen:
Da ich weiß, dass es eben nicht einfach ist, habe ich Dir das kleine Projekt, mit dem ich das eben probiert habe, hier angehängt.
Bennle - Di 20.12.05 19:33
Hallo,
Danke! Schein sehr gut zu sein! Und einfach ist es wirklich nicht!
Nur habe ich noch folgendes Problem: Ich bekomme immer eine leere PDF erzeugt! Die Größe verändert sich zwar von der Datei aber ich sehe leider keinen Text.
Beim start der Komponente kommt auch eine Fehlermeldung! (Anhang)
MfG
Bennle
UGrohne - Di 20.12.05 19:36
Du verwendest Delphi 7? Hast Du das Update auf Rave 5.0.8 installiert? Wenn nicht, einfach bei Borland downloaden. Das dürfte Dein Problem beheben.
Dem Parameter RTF werden alle Zeilen des RichEdits übergeben.
Bennle - Di 20.12.05 22:53
UGrohne hat folgendes geschrieben: |
Du verwendest Delphi 7? Hast Du das Update auf Rave 5.0.8 installiert? Wenn nicht, einfach bei Borland downloaden. Das dürfte Dein Problem beheben.
Dem Parameter RTF werden alle Zeilen des RichEdits übergeben. |
Hallo,
Super am Update lag es! Vielen Dank! Naja den Designer muss ich mir noch was genauer ansehen :-D
Super Forum, Admins und Hilfe.
Vielen Dank
MfG
Bennle
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!