![]() |
Datenbank: MySQL • Zugriff über: Delphi
pdf aus Datenbank anzeigen
Hallo zusammen,
ich bräuchte relativ dringend Eure Hilfe. Ich lade ein PDF in ein Blobfeld einer MySQL Datenbank. Dieses würde ich gerne nun auch wieder im Acrobat Reader anzeigen lassen, aber ich habe keine Ahnung, wie ich das PDF rausholen kann und dann direkt in Acrobat Reader anzeigen lassen kann. Damit Ihr Euch vorstellen könnt, wie das PDF gespeichert wird, hier der Code zum Speichern des PDF im Blobfeld.
Delphi-Quellcode:
Ich wäre Euch sehr dankbar, wenn Ihr mir kurz sagen könntet, wie ich das PDF wieder rausholen kann und dann im Acrobat Reader anzeigen lassen kann.
if OpenDialog1.Execute then
begin dataPersonen.Personenausweise.Insert; dataPersonen.Personenausweise.FieldByName('personenid').asInteger := dataPersonen.Personendaten.FieldbyName('id').asInteger; dataPersonen.Personenausweiseausweis.LoadFromFile(OpenDialog1.FileName); dataPersonen.Personenausweise.Post; JvXPButton1.Enabled := True; showmessage('Der Ausweis wurde erfolgreich gespeichert'); end else showmessage('Der Ausweis konnte nicht gespeichert werden'); end; Vielen Dank! |
Re: pdf aus Datenbank anzeigen
Lösungsvorschlag theoretisch:
Speicher die Datei im Temp-Ordner unter dem namen XYZ.PDF und öffne die dann! praktisch habe ich leider gerade nix zur hand. aber so schwer war das nicht. musst mal suchen. ich meine das hier schonmal gelesen zu haben! |
Re: pdf aus Datenbank anzeigen
Hi,
erstmal danke für die schnelle Antwort. Das hatte ich mir auch schon überlegt, aber leider sind die PDF´s, die erstellt werden immer 0KB los und der Acrobat Reader meldet "fehlerhafte Datei" beim Öffnen. Daher denke ich, dass ich das schon per Stream öffnen müsste. |
Re: pdf aus Datenbank anzeigen
ich schau mal nach ob ich irgendwo ein beispiel auftreiben kann.
ich hatte damals ein bsp mit images in einem blob feld. da hatte das geklappt, meine ich! |
Re: pdf aus Datenbank anzeigen
Ich würde erstmal überprüfen, ob die PDFs komplett in die DB abgespeichert worden sind, oder der Fehler schon beim einfügen entstanden ist. Ich würde dann versuchen einen Stream auf eine QuellPDF zu öffnen und diesen mit .LoadFromStream in das Blobfeld zu schreiben.
|
Re: pdf aus Datenbank anzeigen
Ich mache das genauso: PDF aus DB in Temp-Datei und dann mit Acrobat öffnen.
Wenn die Datei 0KB groß ist, hat das nicht viel mit Acrobat/PDF zu tun, sondern mit der fehlerhaften Speicherung der Daten in einer Datei. Sorge erstmal dafür, das die blob-Daten auch auf der Platte landen. Dann sollte der Rest kein Problem sein. BTW: Es gibt schöne PDF-Komponenten für Delphi. Ich finde, das hätte mehr Charme.. |
Re: pdf aus Datenbank anzeigen
Naja,
ich denke, dass der File schon richtig ankommt in der DB. Weiß nur nicht, ob der wieder richtig rausgeholt wird:
Delphi-Quellcode:
Damit hole ich das PDF wieder raus. Wie ich es reinspeichere habe ich ja oben schon drin stehen. Ist da irgendein Fehler drin?
dataPersonen.Personenausweiseausweis.SaveToFile('c:\test.pdf');
|
Re: pdf aus Datenbank anzeigen
Zitat:
Weiß nur nicht, ob der wieder richtig rausgeholt wird: Zitat:
Welche Datenbankzugriffskomponenten verwendest du? |
Re: pdf aus Datenbank anzeigen
Benutze eine TMySQL Komponente und das Feld ist ein longblob.
Also ich habe es gerade extra noch mal nachgeschaut. Das PDF kommt in der DB an. |
Re: pdf aus Datenbank anzeigen
Zeig mal den gesammten Code der Abfrage zum Auslesen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 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 by Thomas Breitkreuz