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
Seite 1 von 2  1 2      
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 ...
Miniaturansicht angehängter Grafiken
fehler-drop-ziel.jpg  

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.737 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.343 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.737 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
Freiwilderer

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

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 14:51
Der upload läuft über die Zwischenablage, weil es sich, wie gesagt um eine Remoteapp handelt und die lokalen resourcen nicht erreichbar sind. Abgesehen davon weiß ich ehrlich gesagt nicht, wie ich das automatisch machen kann
ich müsste dafür ja die pdf datei quasi öffnen, verändern und neu abspeichern, oder?
  Mit Zitat antworten Zitat
Jumpy

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

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 14:59
Dafür hatte ich ja z.B. das Tool pdftk erwähnt. Das ist ein Kommandozeilenprogramm, das kriegt ein paar Parameter und das war es dann. Wenn dir auf dem Server natürlich niemals das PDF als Datei vorliegt, sondern nur als Binärer Datenstrom o.ä., weil du das über die Ablage bekommst, wird das natürlich nicht gehen, hast recht.
Ralph
  Mit Zitat antworten Zitat
Freiwilderer

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

AW: PDF ohne weitere Funktionen Anzeigen

  Alt 28. Okt 2011, 15:02
ich behalte das mal im Hinterkopf,
wenns gar nicht anders geht, könnte ich die Datei vom stream natürlich wieder in eine Datei auf dem server schreiben und dann verändern, ... wirklich gefallen tut mir das allerdings nicht.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

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
Antwort Antwort
Seite 1 von 2  1 2      


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 19:54 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