WWWブラウザでのPDFの表示について |
|
HTML Help、あるいは通常のHTMLと、PDFを組み合わせて運用したいというお便りを時々いただきます。しかし、これが難問で、なかなか思うように行きません。以前からQ&AなどでPDFの問題を扱ってきましたが、改めてまとめてみました。
HTML文書からPDF文書にリンクするにはHTML文書で次のように設定すると、PDF文書にリンクできます。 <A href="test.pdf">PDF文書を表示</A> リンクテキスト(上例では「PDF文書を表示」)をクリックすると、ブラウザ内にPDF文書が表示されます。 HTML文書からPDF文書の指定ページにリンクするにはAcrobat 4.0以降では、HTML文書で次のように設定すると、指定ページにリンクできます。 <a href="http://www.keiyu.com/test.pdf#page=3">3ページ目を表示</a>
HTML文書にPDF文書を埋め込むにはリンクではなく、HTML文書自体にPDFを埋め込むこともできます。ただし制限が多く、またこの方法では、Acrobatがインストールされていない場合にいきなり空白ページが表示されてしまうので、あまりお勧めはできません。 方法としては、EMBED要素を使う方法と、OBJECT要素を使う方法の2種類があります。 EMBED要素を使う以下のように設定し、設定したHTML文書を表示すると、そのページの中にPDFが表示されます。 <EMBED
OBJECT要素を使うIEの場合は、以下のように設定し、設定したHTML文書を表示すると、そのページの中にPDFが表示されます。 <OBJECT HTML HelpとPDF文書の組み合わせコンパイル形式のHTML Helpの場合コンパイル形式のHTML Help+IE4.0以降の場合、これまで説明してきたリンクする方法、埋め込む方法のいずれもうまく動作しません。
Javascriptを使うと、絶対パスを使わずに外部のPDFファイルにリンクし、HTML Helpウインドウの中にPDFを表示できます。その例が、MSDNライブラリの以下のページに掲載されています。 この方法は、Javascriptで現在のトピックファイルの位置を取得し、そこからドライブ名とディレクトリ名だけを抜き出して、外部ファイル名に追加するというものです。このため、外部ファイルとchmファイルを同じフォルダに置いておかないと動作しません。少々設定が複雑ですが、サンプルをそのままHTMLファイルに貼り付けてファイル名を変えるだけで動作します。 上記の方法以外では、HTML Helpのショートカット機能を使い、Acrobat Readerを別に起動して表示する方法があります。[ファイルのダウンロード]ダイアログは表示されず、Acrobat Readerが直接起動してPDFが表示されます。 ショートカットを設定するには、「プログラムへのショートカットを設定する」に記載の方法で、ショートカットを設定し、 [HHCTRL: ShortCut]ダイアログの[Program]にPDFファイル名を入力します。([Parameter]でなく[Program]に入力する点に注意してください。) トピック中のボタンをクリックすると、Acrobat Readerが起動し、指定したPDFが表示されます。
Web形式のHTML Helpの場合コンパイルせずにInternet Explorerに直接表示するWeb形式のHTML Help(「操作の流れ:Web形式」参照)の場合は、通常Internet Explorerに表示する場合と同じ方法(<A href="test.pdf">PDF文書を表示</A>など)で、ブラウザ内にPDFを表示できます。 また、ヘルプの目次、キーワードからPDFを表示することもできます。目次からPDFを表示する場合は、[Contents]タブの WebにPDF文書を掲載する際に考慮していただきたいことPDFには、様々なアプリケーションで作成した文書を、原型に近いかたちで手軽にオンラインドキュメントとして配布でき、元のアプリケーションがなくても表示・印刷できるという利点があります。MacintoshとWindowsで文書を共有できる点も重宝します。 しかし、PDFには
という問題があります。 最近公共機関などでもPDFで文書を公開している例が多くなってきましたが、この点を心に留めておいていただけたらと思います。W3CのアクセシビリティガイドラインなどでもPDFで掲載する場合は、そのテキスト版を別に用意することが推奨されています。また、単純なテキスト中心の文書の場合は、PDFよりもHTMLとして掲載できないか、検討してみてください。 |