Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PDF erstellen mit PDF-Factory (https://www.delphipraxis.net/180866-pdf-erstellen-mit-pdf-factory.html)

HPB 25. Jun 2014 15:50

PDF erstellen mit PDF-Factory
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag Delphianer,
es ist zum Verzweifeln.
Ich erstelle PDFs mit der pdfFactory.
Das Erstellen einzelner PDF-Dokumente klappt auch ganz gut.
Nur wenn ich mehrere PDF-Dokumente in einer Schleife erstellen möchte geht es schief.
Hier der Quellcode:
Delphi-Quellcode:
        pKopieDatei := FPfadPDFAblage + '\' + 'unbenannt.pdf';
        pZielDatei := pKundenZielPfad + '\' + pDokumentName;

        // Dokument in Redokumente eintragen
        if not FileExists(pZielDatei) then
        begin
          try
            pStreamDatei := TFileStream.Create(pKopieDatei, fmOpenRead or
              fmShareExclusive);
           pStreamDatei.Free;
          except
            ShowMessage('Rechnung wird gespeichert: ' + pZielDatei);
          end;
Die "pKopieDatei" ist die erzeugte Datei von der pdfFactory. Sie hat bei mir immer den Namen "unbenannt.pdf"
Diese Datei wird per FileStream in eine neue Datei kopiert (pZieldatei).
So wie jetzt der try except Konstrukt abgearbeitet wird, wird die PDF-Datei korrekt erzeugt.
Lasse ich "showmessage" nicht zur Ausführung kommen, dann wird zwar die PDF-Datei erzeugt, aber
die erzeugte Datei kann nicht geöffnet werden. Fehlermeldung "Die Datei ist beschädigt und kann nicht repariert werden".
Beim Debug bekomme ich die im Anhang beschriebene Fehlermeldung.
Ich weis nicht, wie ich den Fehler vermeiden kann. Wie kann ich es anders programmieren?
Zur Zeit bin ich ein klein Wenig genervt, aber vielleicht könnt Ihr helfen?
Vielen Dank für Eure Hilfe im Voraus.

Jumpy 25. Jun 2014 16:12

AW: PDF erstellen mit PDF-Factory
 
Kannst du die erstellte PDF nicht einfach "wegkopieren" anstatt da mit Streams usw. zu arbeiten?
Ich vermute mal dein Kopiervorgang hat noch die Finger auf der (unbekannt) Datei, wenn schon nächste unbekannt erstellt werden soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:26 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