Thema: Delphi PDF als Bild, OnClick

Einzelnen Beitrag anzeigen

pirechner

Registriert seit: 29. Jun 2004
36 Beiträge
 
Delphi 7 Professional
 
#19

Re: PDF als Bild, OnClick

  Alt 5. Nov 2008, 14:47
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
pi ist Sonntags = 4
  Mit Zitat antworten Zitat