AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi PDF ohne weitere Funktionen Anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

PDF ohne weitere Funktionen Anzeigen

Ein Thema von Freiwilderer · begonnen am 28. Okt 2011 · letzter Beitrag vom 31. Okt 2011
Antwort Antwort
Freiwilderer

Registriert seit: 26. Mai 2009
163 Beiträge
 
Delphi 7 Enterprise
 
#1

PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 13:33
Hallo alle miteinander,

ich hab momentan ne kleine Sache an der Backe, die etwas ausartet und zwar soll eine Tabelle angelegt werden, in der man PDFs ablegen und später rechte gesteuert entweder downloaden, drucken oder anzeigen kann.
Die PDFs müssen in der DB liegen (MSSQL) und das Ganze läuft als remote App.

Ich bin jetzt so weit, dass ich über die Zwischenablage PDFs in ein NVARBinary(Max) feld hochladen kann, runterladen in die Zwischenablage funktioniert auch. Jetzt kommt das Problem:
Für die Vorschau habe ich versucht ein TWebBrowser objekt zu verwenden.
1. weiß ich nich, wie ich dieses objekt mit dem Stream aus dem DB Felf füllen kann (vielleicht geht das auch gar nicht und ich muss ggf auf eine Temp datei zurück greifen) für einen Tip hierzu wäre ich trotzdem sehr dankbar.
2. Wenn ich das PDF dort anzeigen lasse, werden die Funktionen für abspeichern und drucken angezeigt. Da es aber User gibt, die die PDFs nur sehen, aber nicht speichern oder drucken dürfen (ich weiß, totaler quatsch eigentlich ...) kann ich mit der Anzeige über den Webbrowser so nicht so viel anfangen.

lösungsansatz für 2.
Ich hab mir überlegt, ich lade die Datei in den Webbroser, der aber invisible ist.
Wenn ich Drucken will löse ich über
   WebBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER); direkt den Druck aus.
Das funktioniert super.

Überlegung 2, wenn ich dort drucken kann, kann ich auch eine Vorschau anzeigen, versucht über:
   WebBrowser.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_PROMPTUSER); das löst allerdings diese Fehlermeldung aus:
Es wurde versucht, ein Drop-Ziel zu widerrufen, das nicht registriert wurde.
(siehe Bild)


EDIT:
ich hab grad nochmal etwas rumgetestet, ... diese Fehlermeldung kommt, weil im Webbrowser ein PDF angezeigt wird, bei TXT dateien gehts. Allerdings kann man von da direkt auch drucken ...
Angehängte Grafiken
Dateityp: jpg fehler Drop-Ziel.jpg (40,3 KB, 37x aufgerufen)

Geändert von Freiwilderer (28. Okt 2011 um 13:41 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 13:54
Ein etwas anderer Gedanke. Beim erzeugen von PDFs kann man doch normalerweise festlegen, was man damit machen kann. Vllt. wäre es ja möglich jeweils 3 rechtlich unterschiedliche Versionen des PDFs zu speichern und je nach User das erlaubte aus der DB laden.
Ralph
  Mit Zitat antworten Zitat
Freiwilderer

Registriert seit: 26. Mai 2009
163 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 14:02
hi,
danke schonmal für den gedanken, da war ich noch nicht drauf gekommen.

leider hilft das aber auch nix, da ich die PDFs nicht anlege, sondern user...
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.351 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 14:18
Ich bezweifle etwas, dass der Webbrowser + PDF-Reader auf sichere Weise derart konfigurierbar ist. Vielleicht solltest Du Dich doch nach einer speziellen PDF-Komponente umsehen (ich kenne selbst keine).

Alternativ könnte man den Webbrowser vielleicht mit einer transparenten Form überlagern (so dass man ihn nicht per Maus erreicht) oder den Focus per Timer auf ein bestimmtes Control setzen. Das würde ich aber auch nur als unschöne Notlösung in Erwägung ziehen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Freiwilderer

Registriert seit: 26. Mai 2009
163 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 14:20
hi,

ich versuch gerade ne den aloaha saver pdfviewer zu installieren, ....... aber der zickt rum wie sau...

über eine transparente form über dem webbrowser hab ich auch schon nachgedacht, aber habs nicht hinbekommen ...... wie mach ich denn ne form transparent? ... problem is sicher auch, dass man dann vermutlich probleme mit dem scrollen bekommt

EDIT:
eine Alternative wäre natürlich die PDFs direkt beim speichern zusätzlich als bild abzuspeichern, welches man dann anders anzeigen lassen kann.
Aber ich habe noch keine Möglichkeit gefunden ein PDF, das in meiner zwischenablage ist, in ein Bild umzuwandeln, das könnte auch zu komplikationen führen, nehme ich an...

Geändert von Freiwilderer (28. Okt 2011 um 14:25 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 14:47
Nochmal zu den PDFs mit verschiedenen Rechten. Irgendwo übergibt ein User ja einen Pfad zu einer PDF-Datei, damit dieser der DB hinzugefügt wird. Dann kann man doch automatisch zunächst temporär weitere Versionen mit untersch. Rechtestufen erzeugen. Alle 3 Versionen in die DB laden und dann die temporären Dateien wieder löschen. Ein Tool, das das glaub ich könnte wäre pdftk.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.351 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 15:37
wie mach ich denn ne form transparent? ... problem is sicher auch, dass man dann vermutlich probleme mit dem scrollen bekommt
Wie gesagt: Notlösung, aber

AlphaBlend gibt es schon in D7. Ich denke, das sollte so lösbar sein (wenn nix besseres geht). Das TranspForm müsste man allerdings mitführen, wenn das MainForm bewegt wird.

Zum Scrollen: Man könnte die Strollbars evtl. unverdeckt lassen (wobei der WebBrowser dann vielleicht direkt den Focus erhält!?) oder auf dem TranspForm Buttons für Scrollaktionen anbieten und Ereignisse an den Webbrowser senden.
Keine Ahnung, ob das ohne Probleme zu realisieren ist aber andere Ideen habe ich dazu nicht.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#8

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 22:52
Ich bezweifle etwas, dass der Webbrowser + PDF-Reader auf sichere Weise derart konfigurierbar ist.
Naja, wer ganz abgebrüht ist, der nimmt sich den Chromium-Source und passt ihn an - Chrome zeigt von Haus aus PDFs an.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Freiwilderer

Registriert seit: 26. Mai 2009
163 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 31. Okt 2011, 09:41
so weit ich weiß, (vielleicht is es bei chrome anders) nutzen die browser aber auch nur den jeweilig installierten pdf viewer und so weit bin ich ja quasi schon.

ich hab die alphablend geschichte meinem chef gezeigt und etwas gejammert, und jetzt wird er wohl doch n neuen pdf viewer kaufen, der das kann ...
hauptsache, das funktioniert jetzt auch so, wie gedacht ...
laut beschreibung kann man den auch direkt mit einem stream füllen.

Nennt sich: WPViewPDF und ist von WPCubed, falls jemand mal ähnliche Probleme haben sollte.

mfg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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