Delphi で PDF Viewer を作ってみた (2015/01/01 更新)

あちこちに点在するPDFファイルを、一覧表で管理する PDF Viewer です。
Adobe PDF リーダー、Adobe Acrobat をインストールすると、一緒にインストールされる、AcroPDF と AcroPDDoc だけでできています。
※AcroPDDoc は、Acrobat のライセンスが必要です。
※PDDoc のパラメータについては、こちらを参照。PDDoc のメソッド一覧 リンクは、こちらです。

タイプライブラリの取り込みで、コンポーネントラッパーを作成するにチェックを付けて、
Adobe Acrobat 7.0 Browser Control Type Library 1.0 と、Adobe Acrobat 10.0 Type Library を取り込みます。



AcroPDF(閲覧)、AcroPDDoc(情報取得)が使えるようになります。



フォームに複数の PDF ファイルをドラッグ&ドロップすると、PDF ファイルからタイトル、作成者、サブタイトルを取得し、リストを作成します。
Acrobat のライセンスが無い場合は、手動で入力する必要があります。
※ネットワーク上の PDF ファイルには、対応していません。

・スペース区切りの文字列で、タイトル、作成者、コメントから OR 検索が、できます。



  // 関係部分のみ

  // PDFファイルを表示
  if FileExists(pdfname) then begin
    try
      with AcroPdf1 do begin
        LoadFile(pdfname);
        setShowToolbar(True);
        setPageMode('none');
        setLayoutMode('SinglePage');
        setShowScrollbars(True);
        setView('fit');
        setCurrentPage(PageNo);
      end;
    except
      ;
    end;
  end;

  // PDFファイルのタイトル、作成者、サブタイトルを取得
  if FileExists(pdfname) then begin
    try
      with AcroPDDoc1 do begin
        Open(pdfname);
        with StringGrid1 do begin
          Cells[1, Row] := GetInfo('Title');
          Cells[2, Row] := GetInfo('Author');
          Cells[3, Row] := GetInfo('Subject');
          Cells[4, Row] := GetInfo('Keywords');
        end;
        Close;
      end;
    except
      ;
    end;
  end;