Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi PDF Stream -> Reader (Vorschau) (https://www.delphipraxis.net/211668-pdf-stream-reader-vorschau.html)

haentschman 20. Okt 2022 12:55

PDF Stream -> Reader (Vorschau)
 
Hallöle...8-)

IST:
PDF Stream im Datenbankfeld

SOLL:
Eine Art Vorschau im Reader oder ShellExecute OHNE temporäres File auf der Platte...

Was muß ich mißbrauchen...oder geht das grundsätzlich nicht? :gruebel:

Bernhard Geyer 20. Okt 2022 13:09

AW: PDF Stream -> Reader (Vorschau)
 
Wenn mit Reader = Adobe Reader meinst?
Wieso noch auf diese Pest von SW setzen?

Wieso nicht gleich im (mittlerweile oft vorhandenen) Edge gehen?

Hier hatten wir aber (im gegensatz zum IE) das Problem das Events nicht gefeuert werden, als wir
unsere WebGL-Modelle per Stream geladen hatten.

Sinspin 20. Okt 2022 13:24

AW: PDF Stream -> Reader (Vorschau)
 
Du könntest mit einer virtuellen In-Memory Festplatte arbeiten ;-)
Oder eine Komponente zur Anzeige verwenden die LoadFromStream erlaubt.... mir fällt gerade keine ein.

lxo 20. Okt 2022 13:46

AW: PDF Stream -> Reader (Vorschau)
 
Falls du DevExpress hast könntest du das mit TdxPDFViewer hinkriegen.
Der kann <TdxPDFViewer>.LoadFromFile und <TdxPDFViewer>.LoadFromStream.

KodeZwerg 20. Okt 2022 13:46

AW: PDF Stream -> Reader (Vorschau)
 
Zitat:

Zitat von Sinspin (Beitrag 1513539)
Oder eine Komponente zur Anzeige verwenden die LoadFromStream erlaubt.... mir fällt gerade keine ein.

WPViewPDF (PLUS) wäre eine.

Uwe Raabe 20. Okt 2022 14:23

AW: PDF Stream -> Reader (Vorschau)
 
Zitat:

Zitat von haentschman (Beitrag 1513537)
OHNE temporäres File auf der Platte

Streng genommen müsstest du dann auch die Windows-Auslagerungsdatei und ggf. das Hibernate abschalten. Und den Core-Dump bei einem BlueScreen...

Neumann 20. Okt 2022 15:13

AW: PDF Stream -> Reader (Vorschau)
 
Es gibt Pdfinum, funktioniert ausgezeichnet und kann LoadfromStream, LoadfromFile und Drucken. Mann muss nur die entsprechende DLL mitliefern, die Einbindung ins Programm ist sehr einfach.

haentschman 21. Okt 2022 05:39

AW: PDF Stream -> Reader (Vorschau)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin...8-)

Danke für die Antworten. :love:

Aber ich habe mich wieder nicht klar genug ausgedrückt. :oops:

Zitat:

TdxPDFViewer
...den habe ich auf dieser Form...und der zeigt diesen Stream an.

Ich hatte die Idee, weil es neben dem "Druck" Button auch einen "Vorschaubutton" gibt, der das PDF (in diesem Falle) an den externen Reader(welcher auch immer) übergibt = Für den User ist es eine "Kopie" zum manuellen Vergleich mit dem nächsten Dokument.

User sind es gewohnt das das immer so geht und nicht ein Button fehlt...:?

Zitat:

OHNE temporäres File auf der Platte
...war darauf bezogen den Stream als PDF auf die Platte zu speichern...wann räume diese Datei dann weg? (Reader kann ja noch geöffnet sein) :zwinker:

PS: Stream, weil es das Dokument zu diesem Zeitpunkt noch nicht als Datei auf der Platte geben soll. Erst mit der "Verarbeitung" wird aus dem Stream eine physikalische PDF gemacht und die Datenbank von diesem Stream "bereinigt".

Danke

MyRealName 21. Okt 2022 08:09

AW: PDF Stream -> Reader (Vorschau)
 
Der TdxPDFViewer zeigt Dir das PDF doch schon an (also nicht nur Druckvorschau), warum willst Du da einen externen nehmen ? *verwirrt ist*

haentschman 21. Okt 2022 08:17

AW: PDF Stream -> Reader (Vorschau)
 
Zitat:

Für den User ist es eine "Kopie" zum manuellen Vergleich mit dem nächsten Dokument.
1. Stream auf Oberfläche - ok
2. "Vorschau" extern - beide Dokumente sind gleich
3. Wechsel des Dokumentes - neues Dokument in der Oberfläche
4. Vergleich des externen Dokumentes für "Prüfungszwecke" - beide "Ansichten" enthalten verschiedene Dokumente

...was sich die User so ausdenken. :?

peterbelow 21. Okt 2022 12:08

AW: PDF Stream -> Reader (Vorschau)
 
Zitat:

Zitat von haentschman (Beitrag 1513585)
Zitat:

Für den User ist es eine "Kopie" zum manuellen Vergleich mit dem nächsten Dokument.
1. Stream auf Oberfläche - ok
2. "Vorschau" extern - beide Dokumente sind gleich
3. Wechsel des Dokumentes - neues Dokument in der Oberfläche
4. Vergleich des externen Dokumentes für "Prüfungszwecke" - beide "Ansichten" enthalten verschiedene Dokumente

...was sich die User so ausdenken. :?

Wenn Du die Disk-Datei über CreateFile erzeugst kannst Du einge Sachen spezifizieren, die TFilestream nicht anbietet, z. B. das extended flag FILE_FLAG_DELETE_ON_CLOSE. Windows löscht die Datei dann, wenn das letzte file handle für die Datei geschlossen wird. Deine Anwendung würde also die Datei mit den notwendigen SHARE flags erzeugen, damit eine externe Anwendung sie öffnen kann (FILE_SHARE_READ or FILE_SHARE_DELETE), das Handle irgendwo bunkern bis die Anwendung geschlossen wird (Datei bleibt offen!) und den Dateipfad per ShellExecute an den externen Viewer übergeben.

himitsu 21. Okt 2022 13:15

AW: PDF Stream -> Reader (Vorschau)
 
Schade, dass es kein TPath.GetTempFileName gibt, welches mit FILE_FLAG_DELETE_ON_CLOSE arbeitet und den Stream+Dateinamen liefert.
ansonsten zumindestens noch TPath.GetTempPath

Zitat:

Zitat von Sinspin (Beitrag 1513539)
Oder eine Komponente zur Anzeige verwenden die LoadFromStream erlaubt.... mir fällt gerade keine ein.

Jupp, DevExpress
oder das von den Indern, die sich auch ab und an mal hier im Lande antreffen lassen (gnostice)
oder im TWebBrowser/TEdgeBrowser
oder direkt PDF.js
oder

haentschman 21. Okt 2022 14:33

AW: PDF Stream -> Reader (Vorschau)
 
8-)

Die Entscheidung ist erstmal gefallen...:P

1. Der Knopf "Vorschau" wird Visible = False
2. Das Event hat das ToDo in Textform (für Vergesslichkeit)
3. Sollte der Bedarf bestehen...mache ich einen eigenen "Vorschauer" mit TForm (kann dann PDF, Text, Images...erweiterbar) :thumb:
4. Ersetzen von ShellExecute(File) durch den "Vorschauer"

...wenn ich Zeit habe...kurz vor der Rente. :stupid:

Danke fürs Gespräch...:wink:


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