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;