PDFにおけるリンクの仕組み、設定方法、サンプルとブラウザのPDFリンクサポート状況
更新日:
このページの目的
リンクは文書内のある場所(リンク元)に、別の場所(リンク先)に移動するための情報(リンク情報)を埋め込んでおき、リンク元でトリガーとなる操作をすると埋め込まれているリンク情報を使ってリンク先に移動する仕組みです。
リンクの中ではWebページのハイパーリンクは身近な存在ですが、PDFでもいろいろな種類のリンクを設定できます。本記事ではPDFから/PDFへのリンクについて、その種類、設定例とブラウザのサポート状況を紹介します。
リンクにはどのような種類があるか
PDFのリンク活用方法は多種多様です。ここではリンク元とリンク先のタイプによって次の表のように分けてみます。
特に、近年はブラウザのPDF表示が充実してきており、Webサイトで公開されているPDFファイルを、ローカルにダウンロードすることなく、ブラウザで閲覧できるようになってきました。ブラウザでの閲覧をより便利にするために、PDFリンク設定の仕方もブラウザでの閲覧を考慮することが重要になっています。
閲覧環境 | リンクの種類 | リンク元 | リンク先 |
---|---|---|---|
スタンドアロンPCでの閲覧 | タイプ 1: PDFの内部リンク |
PDFのページ上の矩形範囲 | 同一PDFファイル内の別のページ・ページ内位置 |
タイプ2a: PDF内部から外部PDFへのリンク |
PDFのページ上の矩形範囲 | リンク元と異なるPDFファイル中のページ・ページ内位置 | |
タイプ2b: PDF内部から外部ファイルを起動する |
PDFのページ上の矩形範囲 | 別のアプリケーションファイルを起動する | |
インターネット経由の閲覧 | タイプ3a: PDF内部からWebページ(HTML)へのリンク |
PDFのページ上の矩形範囲 | Web上のURL/URIをリンク先に指定する |
タイプ3b: Web上に置かれたPDF内部から他のPDFへのリンク |
Web上に置かれたPDFのページ上の矩形範囲 | Web上に置かれた他のPDFのページ | |
タイプ4: リンク元はWebページ(HTML) |
HTMLのアンカータグにリンク情報を設定 | Web上のPDFファイルのページ |
スタンドアロンPC(ローカル)でPDFを閲覧する場合は、主にAdobe Acroba ReaderなどのPDF閲覧アプリケーションを使ってPDFを閲覧するのに対して、インターネット経由でPDFを閲覧する場合は、主にブラウザのPDF閲覧機能を使います。もちろん、ブラウザでもローカルのPDFを閲覧できるので、この分類は絶対的なものではありません。
タイプ4は、Webページ(HTML)にPDFファイルへのリンクを設定するものです。リンクをクリックして、リンク先PDFファイルをダウンロードすれば、スタンドアロンPCでのPDF閲覧となります。
インターネット上のPDFをローカルにダウンロードしないで、ブラウザで表示する方法については、「ブラウザでPDFファイルをWebページからシームレスに表示するか、ダウンロードするかの設定」を参照してください。
タイプ1~タイプ3まではリンク元がPDFのファイル内になるので、PDFの標準仕様に準拠して設定します。それに対してタイプ4のリンク元はWebページ上なのでPDFの標準仕様外です。タイプ4のリンクについてはタイプ4のリンク設定と表示を参照してください。
タイプ1~タイプ3のリンク設定と表示
タイプ1、タイプ2とタイプ3のリンクはPDFの標準仕様であるISO 32000で規定される「リンク注釈」機能を使います。
(参考)PDFの注釈入門
(参考)PDFの国際標準化への歩み
PDFのリンク注釈の概要
PDFのリンク注釈は、Webページのハイパーリンクと比べて非常に幅広い機能があるので、ここでは主な機能に絞って簡単に説明します。
リンク注釈では、リンク元の位置をPDFのページ上の矩形領域として指定します。 リンク注釈をサポートするPDFリーダーは、マウスカーソルがPDFのページでリンク元の矩形領域にきたときにマウスボタンをクリックすると、リンク注釈に指定された動作(アクション)をします。
アクションの中で主なものには、①同一PDF内の指定された位置への移動(Go-Toアクション)、②外部PDFの指定位置への移動(Go-To Rアクション)、③指定されたアプリケーション起動(Launchアクション)、③URIアクションがあります。URIアクションにはWeb上のURL、識別子、メールアドレスなども指定できます。
移動先PDFの開き方として、次のようなパラメータを指定できます。
- 表示する文書ページ
- ページ上の表示ウィンドウの位置(ページ上の座標位置)
- 倍率
- 移動先PDFの開き方、など
URIアクションに設定した文字列の解釈はブラウザに任されます。
PDFのリンク注釈設定例と表示例
リンク注釈の代表的なパターンを設定したテスト用PDFを作成し、PDF閲覧アプリケーションと主要なブラウザでPDFを開いてみて、動作サポート状況を確認してみました。
テスト用に使用したPDFは次のとおりです。(別ウィンドウで開きます)
- テスト用PDF:Setlink-example.pdf
本PDFの3ページ目にテスト用のリンクが設定されています。1~2ページはダミーのページです。 - テスト用PDFからリンクしているPDF:cas-pdflayoutV5.pdf
動作確認結果:テスト用PDFをローカルに保存したとき
テスト用PDFとリンク先PDFをローカルPCの同一フォルダーに保存します。テスト用PDFをAcrobat Readerやブラウザで開いて、それぞれのリンクをクリックしたとき、リンク先のPDFが期待した通りに表示されるかをチェックした結果が次の表です。
Acrobat Reader | FireFox 116.0.1 |
Chrome 115.0.5790.170 |
Microsoft Edge 115.0.1901.188 |
|
---|---|---|---|---|
1 PDFの内部リンク(1ページへ進む) | ||||
2-1 外部のPDFを開く:ページ指定なし(ファイル名のみ) | ||||
2-2 外部のPDFを開く:ページ指定 | ||||
2-3 外部のPDFを開く:ページ指定とページ内の位置指定 | ||||
3 外部アプリのファイルを開く(docxファイル) | ||||
4-1 Webページをブラウザで開く:HTMLページを指定 | ||||
4-2 同:HTMLページのIDを指定 | ||||
4-3 Web上のPDFファイルを開く:ページ指定なし(ファイル名のみ) | ||||
4-4 Web上のPDFのページを開く:ページ指定 | ||||
4-5 Web上のPDFのページを開く:名前指定 | ||||
5-1 (URIアクション:相対パス)PDFファイルを開く(ファイル名のみ) | ||||
5-2 (URIアクション:相対パス)PDFファイルを開く:ページ指定 | ||||
5-3 (URIアクション:相対パス)PDFファイルを開く:名前指定 |
:ページの先頭に移動する
2-1、2-2、2-3はGoTo Rアクションの設定例です。ブラウザのPDF閲覧は、GoTo Rアクションに対応していません。
3のLaunchアクションもブラウザは対応していません。
動作確認結果:テスト用PDFをWeb上のURL指定で開いたとき
テスト用PDFのURLを開いてPDFを表示します。テスト用PDFの3ページ目のそれぞれのリンクをクリックしたとき、リンク先のPDFが期待した通りに表示されるかをチェックした結果が次の表です。
Acrobat Reader ※1 | FireFox 116.0.1 |
Chrome 115.0.5790.170 |
Microsoft Edge 115.0.1901.188 |
Safari iOS 16.5.1 |
|
---|---|---|---|---|---|
1 PDFの内部リンク(1ページへ進む) | |||||
2-1 外部のPDFを開く:ページ指定なし(ファイル名のみ) | |||||
2-2 外部のPDFを開く:ページ指定 | |||||
2-3 外部のPDFを開く:ページ指定とページ内の位置指定 | |||||
3 外部アプリのファイルを開く(docxファイル) | Webにファイルがないため開けない | Webにファイルがないため開けない | |||
4-1 Webページをブラウザで開く:HTMLページを指定 | ブラウザを起動 | ||||
4-2 同:HTMLページのIDを指定 | ブラウザを起動 | ||||
4-3 Web上のPDFファイルを開く:ページ指定なし(ファイル名のみ) | ブラウザを起動 | 前回開いたページ | 前回開いたページ | ||
4-4 Web上のPDFのページを開く:ページ指定 | ブラウザを起動 | ||||
4-5 Web上のPDFのページを開く:名前指定 | ブラウザを起動 | IDがあるページの先頭に移動する | |||
5-1 (URIアクション:相対パス)PDFファイルを開く(ファイル名のみ) | ブラウザを起動 | 前回開いたページ | 前回開いたページ | ||
5-2 (URIアクション:相対パス)PDFファイルを開く:ページ指定 | ブラウザを起動 | ||||
5-3 (URIアクション:相対パス)PDFファイルを開く:名前指定 | ブラウザを起動 | IDがあるページの先頭に移動する |
※1:開くダイアログに、PDFファイルのWeb URLを入力
2-1、2-2、2-3はGoTo Rアクションの設定例です。FireFoxのPDF閲覧はGoTo Rアクションが使えますが、他のブラウザは対応していません。
Windows用の3大ブラウザはURIアクションに概ね対応しています。しかし、SafariはPDFを開けますが、開き方に関するパラメータはすべて未対応のようです。
アンテナハウス製品のリンク注釈関連機能紹介
リンク注釈を作成・編集するツールを使えば、PDFへのリンクを簡単に設定できます。次にアンテナハウス製品のリンク注釈関連機能を紹介します。
『瞬簡PDF 編集』のPDFリンク設定機能
アンテナハウスの製品では、『瞬簡PDF 編集』はリンク注釈の作成・編集を簡単にできるようになっています。
PDFファイルを2つ用意し、『瞬簡PDF 編集』で 4種類のリンク注釈を設定してみました。
サンプルに使用したPDFを、下記URLからダウンロードできます。
リンク注釈設定サンプルPDF(pdf-link-annotation.zip)
ブラウザでも確認してみます。(別ウィンドウで開きます)
- リンク注釈設定サンプルPDF(pdf-link-annotation.zip)の格納内容
-
リンク注釈設定サンプルPDF(pdf-link-annotation.zip)内には、以下のPDFファイルが格納されています。
- リンク注釈設定ファイル:「PDFにおけるリンクの仕組み、設定方法とサンプル _ アンテナハウス PDF資料室.pdf」(ブラウザ確認用:pdf-link-annotation-sample.pdf)
- リンク対象PDFファイル:「PDFの注釈入門 _ アンテナハウス PDF資料室.pdf」(ブラウザ確認用:pdf-link-fly.pdf)
付与されているリンク注釈の箇所は、以下のとおりです。
- (1)PDF内リンク(page1⇒page2):1ページ目「リンクとは」、「タイプ1とタイプ2のリンク設定と表⽰」
- (2)PDFから、別のPDFへリンク:7ページ最下部「Annotation.pdf」に、「PDFの注釈入門 _ アンテナハウス PDF資料室.pdf(ブラウザ確認用PDF:pdf-link-fly.pdf)」へのリンクを付与。
- (3)PDFから外部URIへのリンク:1ページ目「アンテナハウス オンラインショップの画像バナー」に、アンテナハウスオンラインショップトップページのアドレスを設定。
- (4)PDFからメール送信スキームリンク:9ページ目「info@antenna.co.jp」に、アンテナハウスお問合わせメールアドレスを登録。
注意リンクへの挙動は、ご覧になるブラウザ内蔵のPDFビューアや、オプション設定などで多少変わってくることがあります。ブラウザでの確認が上手くいかないときは、zipファイルをダウンロードしてPCのPDFビューアでご確認ください。
『アウトライナー 3』のPDFリンク調整機能
PDF文書でページの順番を入れ替えたり、文書の途中のページを削除したりといったページ編集をしたとき、リンク注釈の移動先ページを指定について、次のような問題が発生します。
- ページ編集でリンク注釈の移動先ページの順序(位置)が変わったとき、リンク注釈のアクションの移動先も変わります。
- ページ編集でリンク注釈の移動先ページが削除されたときは、リンク注釈はエラーになるので、リンク注釈の削除が必要です。
『アウトライナー 3』でPDFのページ編集を行うとき、上のようなリンク注釈の問題を自動的に解決できます。
さらにPDFの分割時や結合時にもリンク注釈の調整機能が必要ですが、『アウトライナー 3』は次のことができます。
- PDF分割時
-
- PDFを分割した結果、リンク注釈の移動先がPDFの内部だったものが外部PDFになるとき、リンクの移動先を外部PDFに変更できます。
- 分割時にリンク注釈のアクションが、外部PDFファイルを開くに変更されるとき、外部PDFファイルのパス設定を相対パスと絶対パスのどちらにするか指定できます。
- 同様に、外部PDFファイルを同一のウィンドウで開くか・別のウィンドウで開くかを指定できます。
- PDF結合時
-
- ページモードで対話的にPDFを結合するとき、結合したいPDFに設定されているリンク注釈も一緒に結合できます。
- PDFを一括結合するときに、リンク注釈を結合する機能があります。
このほか、『アウトライナー 3』は、PDFに設定されているリンク注釈のデータを、まとめて外部ファイル(CSV形式、XML形式、JSON形式)に保存(エクスポート)したり、外部ファイルに保存されているデータをPDFに取り込むこと(インポート)ができます。
『PDF Tool API』のPDFリンク注釈編集機能
PDFを活用するワークフロー・システムを開発する際には、ソフトウェア開発キット(SDK)を使ってプログラムからリンク注釈を設定・編集ができたりします。アンテナハウスの製品では、『PDF Tool API』にリンク注釈関連の機能が充実しています。
タイプ4のリンク設定と表示
タイプ4のリンクはHTMLファイルからPDFをリンクする設定です。ブラウザでHTMLファイルを表示し、PDFファイルへのリンクをクリックしたときの動作はブラウザに組み込まれたPDFリーダーが担います。
その設定方法は、アドビから公開されている『Parameters for Opening PDF Files』という資料に記載されています。これは、Adobe Readerをブラウザのプラグインとして使用するために用意されたもののようです。次に主な設定パラメータを紹介します。
ブラウザでPDFを表示する動作指定方法
- (1)移動先ページ指定
-
<a href="file-name.pdf#page=N">アンカーテキスト</a>
移動先にはPDFの物理ページ番号を指定します。
- (2)移動先の名前を指定
-
<a href="file-name.pdf#nameddest=移動先名">アンカーテキスト</a>
移動先名は、PDF内に埋め込んだ固有の文字列(id)を指定します。
- (3)移動先のズーム表示
-
<a href="file-name.pdf#zoom=スケール値">アンカーテキスト</a>
移動先のページの拡大率をスケール値で指定します。スケール値100は、100%を意味します。
- (4)移動先のズーム表示と位置指定
-
<a href="file-name.pdf#zoom=スケール値,left,top">アンカーテキスト</a>
スケール値に加えて、左上を原点として、左からの距離と上からの距離を指定します。単位はポイントです。
- (5)移動先の対象ページの表示方法
-
<a href="file-name.pdf#view=キーワード">アンカーテキスト</a>
表示対象ページの表示方法をキーワードで指定します。
-
viewのキーワードは次のとおりです。
キーワード 意味 Fit ページを水平方向、垂直方向ともにページのコンテント全体がフィットする倍率で表示する。必要となる倍率が水平方向、垂直方向で異なる場合、小さいほうの倍率を使用し、他方はウィンドウ中央になるように配置する。 FitH ページの幅全体がウィンドウにフィットする倍率で表示する。 FitH,top ページの垂直座標[top]で指定される位置をウィンドウの上端となるように配置し、ページの幅全体がウィンドウにフィットする倍率で表示する。 FitV ページの縦方向全体がウィンドウにフィットする倍率で表示する。 FitV,left ページの水平座標[left]で指定される位置をウィンドウの左端となるように配置し、ページの縦方向全体がウィンドウにフィットする倍率で表示する。 FitB 境界ボックスがウィンドウの水平方向、垂直方向ともにフィットする倍率で、page によって指定されるページを表示する。必要となる倍率が水平方向、垂直方向で異なる場合、小さいほうの倍率を使用し、他方はウィンドウ中央となるように配置する。 FitBH ページの境界ボックスの幅全体がウィンドウにフィットする倍率で表示する。 FitBH,top ページの垂直座標[top]で指定される位置を、ウィンドウの上端となるように配置し、ページの境界ボックスの幅全体がウィンドウにフィットする倍率で表示する。 FitBV ページの境界ボックスの縦方向全体がウィンドウにフィットする倍率で表示する。 FitBV,left ページの垂直座標[left]で指定される位置を、ウィンドウの左端となるように配置し、ページの境界ボックスの縦方向全体がウィンドウにフィットする倍率で表示する。 キーワードの詳細な意味合いは、ISO 32000-1のTable 151 - Destination syntaxを参照してください。
その他のパラメータは、参考資料を参照してください。
主要ブラウザの内蔵PDFリーダーのサポート状況
2023年8月8日時点の最新ブラウザでのサポート状況を次の表に示します。本記事を最初に公開したときは2020年4月時点のブラウザ内蔵のPDFリーダーでのパラメータサポート状況を紹介しましたが、そのときと比べると、主にEdgeの移動先ページ指定などの対応が進んでいます。
ブラウザ | FireFox | Chrome | Microsoft Edge for Windows |
Safari |
---|---|---|---|---|
バージョン | 116.0.1 | 115.0.5790.170 | 115.0.1901.188 | iOS 16.5.1 |
移動先ページ指定 | OK | OK | OK | 未対応 |
移動先名指定 | OK | OK | idがあるページに進む。 但し、位置は無視される。 |
未対応 |
ズーム | OK | OK | OK | 未対応 |
ズームと位置 | zoomはOK。 位置は座標の原点を 左下としている。 |
zoomはOK。 位置は無視される。 |
zoomはOK。 位置は無視される。 |
未対応 |
表示キーワード | 未対応 | Fit, FitH, FitVのみOK | FitH, FitVのみOK | 未対応 |
試験に使用したサンプルHTMLファイルへのリンク:pdflink.html