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;