Entwickler-Ecke

Sonstiges (Delphi) - PDF mit FastReport drucken


Hänsel - Fr 17.03.23 11:01
Titel: PDF mit FastReport drucken
Hallo, kann mir jemand helfen?

beim drucken bzw. in eine PDF umwandeln habe ich folgendes Problem.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
     while not DataModule1.ADOQuery_Mieter.Eof do
          Begin
           GS:=0;
           fwe:=DataModule1.ADOQuery_Mieter['WE_NR'];
           fo:=DataModule1.ADOQuery_Mieter['obj'];
           frxPDFExport1_Zusammenfassung.FileName:=fo+'-'+fwe;
           if GS+WS >=18 then
              Begin
              frxReport_A10_3.Export(frxPDFExport1_Zusammenfassung);
              End;
           if GS+WS < 18 then
              Begin
              frxReport_A10.Export(frxPDFExport1_Zusammenfassung);
              End;
           DataModule1.ADOQuery_Mieter.Next;
          End;
     End;
   End;

Es wird eine PDF Datei mit den entsprechenden Dateien-Namen gebildet, aber der Inhalt ist leer. Die Fehlermeldung beim Versuch zu öffnen lautet: kann nicht geöffnet werden da keine Seite vorhanden ist.
Was habe ich da vergessen bzw. falsch gemacht?
Wäre schön wenn mir da jemand helfen kann.

Gruß Hänsel

Moderiert von user profile iconTh69: Delphi-Tags hinzugefügt
Moderiert von user profile iconTh69: pdf mit PDF ersetzt


jaenicke - Fr 17.03.23 11:33

Was liefert denn Export zurück? Das ist ja eine Funktion, die einen Boolean liefert.


Hänsel - Sa 18.03.23 13:02

Es werden von den 10 Datensätzen auch die 10 Stück pdf-Dateien angelegt. Dabei kommt auch keine Fehlermeldung. Nur dass die angelegten pdf-Dateien leer sind. Da mir hier die Erfahrung fehlt...? Was muss ich hier tun? Wenn du sagst das dies eine Funktion ist, muss wohl diese Funktion definiert werden, oder ist die Funktion in der Komponente. Hier bedarf es für mich etwas Hilfe.

Gruß
Hänsel


jaenicke - Sa 18.03.23 17:32

Die Funktion liefert dir zurück, ob sie erfolgreich war oder nicht. Normalerweise sieht so etwas so aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
if frxReport_A10_3.Export(frxPDFExport1_Zusammenfassung) then
begin
  // weitermachen
end
else
  ShowMessage('Fehler');


Hänsel - So 19.03.23 10:07

Habe deinen Vorschlag ausprobiert. Es kam keine Fehlermeldung, nur alle Dateien ohne Inhalt bzw. beim Versuch die Dateien zu öffnen die Meldung "kann nicht geöffnet werden, da keine Seiten vorhanden". Muss eventuell bei der pdf-Export Komponente eine Einstellung vorgenommen werden?


Th69 - So 19.03.23 13:46

Dann wird der Fehler wohl direkt beim Report (bzw. dessen Datenbindung) liegen. Hast du denn die Datenmengen-Komponente richtig an den TfrxReport gebunden, s.a. Erstellen von Berichten mit FastReport (FireDAC) [https://docwiki.embarcadero.com/RADStudio/Sydney/de/Erstellen_von_Berichten_mit_FastReport_(FireDAC)]?

Außer dem Dateinamen wird jeder Report doch sicherlich auch inhaltlich andere Daten aufweisen (sollen)?!