Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi PDF als Bild, OnClick (https://www.delphipraxis.net/106242-pdf-als-bild-onclick.html)

mikro1986 7. Jan 2008 20:33


PDF als Bild, OnClick
 
Hi,

ich habe eine PDF-Datei, welche ich in mein Projekt einbinden möchte. Ich hab auch schon die ActiveX-Komponente eingebaut und angezeigt wird die Datei auch.
Allerdings sind noch die 3 Aktionsleisten von Adobe zu sehen. Zwei konnte ich bis vor kurzem mit
Delphi-Quellcode:
pdf1.setShowToolbar(false);
pdf1.setShowScrollbars(false);
ausschalten, aber jetzt bekomme ich immer eine Fehlermeldung
Zitat:

Interface not supported
, habt ihr schonmal ne Ahnung, woran das liegen könnte?
Aber dann bleibt immernoch die "Drucken"-Leiste, was mich extrem stört.
Deshalb die Frage, gibt es eine Möglichkeit ausschließlich den Inhalt eines PDFs anzeigen zu lassen, vll im Vollbildmodus oder so... Für mich wäre es noch besser, wenn ich den Inhalt in ein TImage laden könnte, da ich das Ereignis OnClick verwenden möchte...

Ich hoffe ihr könnt mir helfen, bin echt am verzweifeln und finde irgendwie nichts passendes dazu...

bye

SaFu 15. Feb 2008 10:18

Re: PDF als Bild, OnClick
 
Auch wenn der Thread schon älter ist, aber sowas suche ich auch???

SaFu 16. Feb 2008 16:05

Re: PDF als Bild, OnClick
 
Hat da keiner ne idee wie ich die Toolbars weg bekomme oder wie ich den TWebbrowser auf Enabled:= false setzen kann

Gruss Sascha

toms 16. Feb 2008 16:09

Re: PDF als Bild, OnClick
 
Zitat:

Zitat von fuknersascha
oder wie ich den TWebbrowser auf Enabled:= false setzen kann

webbrowser1.Enabled := False;

SaFu 16. Feb 2008 16:14

Re: PDF als Bild, OnClick
 
Ich bin doch so doof die Einstellung habe ich die ganze zeit im OI gesucht.
Aber jetzt habe ich das Problem das ich ja nichtmehr scrollen kann, wenn ein Dokument größer ist.

Also gibt es nicht so eine Komponente mit der sich das wie im 1# Post realisieren lässt

toms 16. Feb 2008 16:18

Re: PDF als Bild, OnClick
 
Zitat:

Zitat von fuknersascha
Ich bin doch so doof die Einstellung habe ich die ganze zeit im OI gesucht.
Aber jetzt habe ich das Problem das ich ja nichtmehr scrollen kann, wenn ein Dokument größer ist.

Also gibt es nicht so eine Komponente mit der sich das wie im 1# Post realisieren lässt

Du kannst ja im Webbrowser alle Klicks und Tasten ignorieren...

SaFu 16. Feb 2008 16:27

Re: PDF als Bild, OnClick
 
Und wie ich habe im OI alles auf Flase gestellt was mann nur False stellen kann wie gesagt die scrollbar sollte man aber noch bedienen können.

Aber meine Frage stellt sich schon das ist doch eine Anwendung die mann oft braucht warum gibt es keine Komponente dafür

Bernhard Geyer 16. Feb 2008 16:53

Re: PDF als Bild, OnClick
 
Wieso willst du den die Toolbar weg haben?

Zitat:

Zitat von fuknersascha
Aber meine Frage stellt sich schon das ist doch eine Anwendung die mann oft braucht warum gibt es keine Komponente dafür

Gibts doch: Foxit reader . Kann auch als DLL im eigenen Programm eingesetzt werden. Muß nur in Verhandlung mit dem Hersteller treten das der Preis dafür nicht zu hoch wird.

SaFu 16. Feb 2008 17:01

Re: PDF als Bild, OnClick
 
ich möchte Dateien anzeigen lassen.
So wie im 1#Post und das ganze am besten auf einem LCD der interaktiv bedienbar ist.
Also sollte man mit der Maus auch keine Einstellungen vornehmen können.

Immoment lasse ich mir RTF Dateien anzeigen und da habe ich auch keine Menüleiste.
Der Nachteil ist aber das ich keine Grafiken anzeigen lassen kann oder bessergesagt nur mit hohem Aufwand und nicht benutzerfreundlich.

Deshalb habe ich mir jetzt gedacht das einer der ein Dokument einstellen will, dieses in Word schreibt (mit Grafiken), es dann in ein PDF umwandelt und es dann im Webbrowser anzeigenlassen kann.

Und das es so aussieht wie ein Blatt würde ich gerne die Toolbars weghaben.

Bernhard Geyer 16. Feb 2008 17:13

Re: PDF als Bild, OnClick
 
Wie wäre es wenn du als Zielformat HTML bzw. XML/XSL nimmst?

SaFu 16. Feb 2008 17:17

Re: PDF als Bild, OnClick
 
das Wäre mir egal hauptsache ich kann es damit machen.
Aber geht das wirklich nicht einfacher hat von euch noch nie einer sowas gebraucht

Bernhard Geyer 16. Feb 2008 17:53

Re: PDF als Bild, OnClick
 
Ein Teil der Toolbar ist ja die Werbeeinblendung bzw. die selbstbeweihräucherung. Und Adobe will möglichst das immer sichtbar halten.

SaFu 16. Feb 2008 18:04

Re: PDF als Bild, OnClick
 
Der Anfänger dieses Threads hat die ActiveX Komponente installiert was ich noch nicht habe wie mache ich das den. geht es vielleicht darüber besser (mein vorhaben). Ich habe mir schon die SDK von Acrobat runtergeladen aber weis jetzt nicht wie ich das machen muss.

Pfoto 16. Feb 2008 18:14

Re: PDF als Bild, OnClick
 
Hallo!

ich kann dir zwar nicht zum Problem des PDF-SDK helfen,
aber was spricht dagegen, es wirklich mit reinem Html/CSS
aufzubauen.
Du könntest ja sogar Html von Word aus speichern, auch wenn
es dann katastrophaler Quellcode wird...

Du könntest auch per CSS eine visuelle Erscheinung einer
Seite wie beim Acrobat machen (weißes Blatt mit Schatten),
das ist nicht sehr schwer. Ich könnte dir dabei helfen.

Die Events des TWebbrowser lassen sich ebenfalls abfangen,
auch z.B. das PopUp-Menü.


Gruß
Pfoto

SaFu 16. Feb 2008 18:46

Re: PDF als Bild, OnClick
 
Naja wenn du mir helfen könntest wäre es sehr net von dir ich würde mir auch alle mühe geben

Pfoto 16. Feb 2008 19:06

Re: PDF als Bild, OnClick
 
Um gezielt was anfertigen zu können, müsstest du
mir die maximalen maße geben:

Wie viel Pixel soll das weiße Blatt breit sein?
Wie breit soll der Rand sein?
Genügt eine fixe Breite (kein Flouid-Layout)?
Das wäre einfacher umzusetzen.

Gruß
Pfoto

SaFu 16. Feb 2008 19:12

Re: PDF als Bild, OnClick
 
Also die Breite müsste so 563 Pixel und die Höhe 699 Pixel sein den Rand da habe ich mir noch keine gedanken gemacht.
Wie bekomme ich den überhaupt mal einen Ansatz

Pfoto 16. Feb 2008 19:50

Re: PDF als Bild, OnClick
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo nochmal,

im Anhang findest du ein Beispiel, wie man grafisch
ein Blatt Papier in HTML/CSS darstellt. Die Höhe
ist dabei variabel und erweitert sich mit zunehmendem
Inhalt.


In der CSS-Datei habe ich die Zeilen markiert, wo du
die Innenabstände (Seitenränder) einstellen kannst.



Gruß
Pfoto

pirechner 5. Nov 2008 14:47

Re: PDF als Bild, OnClick
 
Ich stand auch vor dem Problem und habe es wie folgt gelöst:

ActiveX Element hinzufügen
Komponente->ActiveX importieren...-> Adobe Acrobat (sprich PDF-Dokument) auswählen und installieren
Alles bestätigen und so einstellen wie gewünscht.
Nun sollte bei der ActiveX Registerkarte ein neuer Eintrag/Icon für PDF-Dokumente erscheinen.

PDF-Dokument einbinden
Wie z.B. einen Button auf dem Formular platzieren.

Vollbildmodus
Einerseits kann man einfach die Leisten ausblenden per:
Delphi-Quellcode:
 acropdf1.setShowScrollbars(false);
 acropdf1.setShowToolbar(false);
andererseits kann man auch eine Dokument laden und danach [STRG] + [L] drücken um in den Vollbildmodus zu wechseln.
[STRG] + [L] kann man jedoch auch simulieren.
simulieren von Tastenkombination
Vorhergenden Quelltext für [STRG] + [L] anpassen.

Besonderheit
Der Vollbildmodus findet dann jedoch nur innerhalb der Komponente statt. Wenn man nun bildschirmfüllend das Dokument anzeigen möchte muss man den WindowState eines Fensters auf maximized setzen und dann die Komponente selbst auf dem Formular maximieren.

Meine Komplettlösung
Delphi-Quellcode:
procedure TForm1.FormClick(Sender: TObject);
  procedure sim_CtrlL;
  begin
    keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);               //Drücken von  [STRG]
    keybd_event(Ord('L'), MapVirtualKey(Ord('L'), 0), 0, 0);                   //Drücken von  [L]
    keybd_event(Ord('L'), MapVirtualKey(Ord('L'), 0), KEYEVENTF_KEYUP, 0);     //Loslassen von [L]
    keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0)     //Loslassen von [STRG]
  end;
begin
  acropdf1.Top:= 0;
  acropdf1.Left:= 0;
  acropdf1.Height:= self.ClientHeight;
  acropdf1.Width:= self.ClientWidth;
  if opendialog1.Execute then
  begin
    acropdf1.LoadFile(opendialog1.FileName);
  end;
  sim_ctrlL;
end;
weiterführende Informationen
direkt zu Adobe PDF API


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 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-2025 by Thomas Breitkreuz