Announcement

Collapse
No announcement yet.

PDF-Files öffnen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PDF-Files öffnen

    Hallo,

    Das Problem :

    Ich möchte ein Adobe Acrobat File ( *.pdf ) an einer bestimmten Stelle öffnen. Ich weiss allerdings nicht wie dies lösbar ist!

    Kommandozeile mit Parametern ??
    Shellexec() ??

    Ich habe keine Ahnung welche Voraussetzungen gegeben sein müssen, es wäre nett, wenn sich jemand mit mir in Verbindung setzen könnte, der schon Erfahrungen mit PDF-Files hat.

    Danke im vorraus

    S.B. Meier

  • #2
    Hallo,

    das folgende Beispiel stammt aus meinem Buch <i>COM/DCOM/COM+ mit Delphi</i> - die Beschreibung kann dort nachgelesen werden:
    <pre>
    { ************************************************** ****************
    Source File Name : AcrobatContainerFrm.pas
    Autor : Andreas Kosch
    Erstellt am : 09.09.1998
    Compiler : Delphi 4.02 CSS
    Betriebssystem : Windows 98
    Beschreibung : Anzeigen von PDF-Dateien über das ActiveX-
    Control »PDF41.OCX« im eigenen Delphi-Formular
    Revisionen : UpdatePack #2
    ************************************************** **************** }

    unit AcrobatContainerFrm;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, OleCtnrs, ComCtrls, OleCtrls, PdfLib_TLB, ExtCtrls;

    type
    TForm1 = class(TForm)
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    OpenDialog1: TOpenDialog;
    Panel2: TPanel;
    Pdf1: TPdf;
    BtnOpenOCX: TButton;
    BtnCloseOCX: TButton;
    procedure BtnOpenOCXClick(Sender: TObject);
    procedure BtnCloseOCXClick(Sender: TObject);
    private
    { Private-Deklarationen}
    public
    { Public-Deklarationen}
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    { Anstelle von TOleContainer wird das OCX-Control vom
    Acrobat Reader eingesetzt. Damit wird der Inhalt der ausgewählten
    PDF-Datei im eigenen Formular angezeigt.
    Das Symbol des Acrobat Readers ist während der Programmlaufzeit
    in der Taskbar sichtbar - das OCX-Control hat keine Active-Eigen-
    schaft, um dieses Verhalten zu ändern.

    Import des OCX-Controls in Delphi:
    - Menü [Komponente | ActiveX importieren...]
    - Button [Hinzufügen...] -> Datei »PDF41.OCX« auswählen
    (liegt im Acrobat-Unterverzeichnis »ActiveX«
    - "Acrobat Control for ActiveX (Version 1.3)" unter dem
    Klassennamen »TPDF« installieren
    - Instanz von TPDF im Formular plazieren (der Acrobat Reader
    startet sofort und ist als Icon in der Taskbar sichtbar) }

    procedure TForm1.BtnOpenOCXClick(Sender: TObject);
    begin
    with OpenDialog1 do
    if Execute then
    Pdf1.src := Filename;
    end;

    procedure TForm1.BtnCloseOCXClick(Sender: TObject);
    begin
    Pdf1.src := '';
    end;

    end.
    </pre&gt

    Comment


    • #3
      Hallo Andreas,

      schön, dass ich so schnell eine Antwort bekam. Jedoch deckt diese meinen Wissensdurst nicht ganz ab.
      Unklarheiten:

      1. Kann ich das PDF-File denn nicht mit dem Acrobat Reader selbst öffnen ?

      2. Wie kann ich an eine bestimmte Stelle innerhalb des PDF-Files springen (per Code !)

      MfG
      S.B. Meie

      Comment


      • #4
        Hallo,

        über das ActiveX-Control (OCX) erhält man eine Automation-Schnittstelle und kann somit alles das aus dem eigenen Programm heraus fernbedienen, was Adobe "erlaubt" (also über die Automation-Schnittstelle veröffentlicht)

        Comment


        • #5
          Hallo,

          gibt es irgendeine brauchbare Dokumentation der Automation-Schnittstelle? Ich habe das selbe Problem, möchte also ein PDF öffnen und automatisch auf bestimmte Seite springen.

          Vielen Dank im Voraus,

          Konstantin Kandle

          Comment


          • #6
            Hallo Michael,

            ich denke das ActiveX-Control ist mit seinen ca. 25 Methoden/Properties selbsterklärend. (setCurrentPage-Methode ist das gewünschte)

            Über die ActiveX-Schnittstelle des Adobe Readers werden nur sehr wenige Möglichkeinten zur Verfügung gestellt und auch nur als "unsupported Feature" (Funktionalität wird nur für IE garantiert)

            Comment

            Working...
            X