Issue(問題点)

 

Webブラウザ内にPDFファイルを表示する際、URL に特定頁を指定して該当頁が表示できるようですが、具体的にどのように記述すれば良いのか教えてください。

 

Solution(解決方法)

 

この機能を実現するには、今使用されている PDF ファイルのままでは対応できず、PostScript(PS)ファイルの段階で pdfmark というオペレータを使って、Named Destination 情報を PDF 中に埋め込んでおく必要があります。

Named Destination 情報はページ番号ではなく、ジャンプ先の情報(View Destination)と、それを表すラベル名のようなもの(Name Object)から構成されます。Named Destination 情報を含む PS ファイルを Distiller で PDF に変換することにより、ブラウザ上で特定のページへジャンプさせる機能が実現できます。

(1) まず、PSファイルに「ジャンプ方法とそれに対応するラベル名」の情報を書き込む必要があります。

例えば、該当の文書の3ページ目にジャンプして、PDFの水平方向をウィンドウ幅に合わせて表示する、というような表示を行いたい場合、pdfmarkで下記のような内容を PSファイル内に記述します。

[ /Dest /myJumpTest

/Page 2

/View [ /FitH 5 ]

/DEST

pdfmark

ここで /Dest に指定されたラベル名「myJumpTest」が HTMLから指定する文字列になります。/Page がジャンプするページ番号の指定で、1ページ目の場合は「/Page 0」になります。

この内容を PSファイル内の、他オペレータの影響を受けないような位置に記入して Distiller で変換することで、Named Destination に対応した PDF が出来上がります。

(2) 次に、HTML からは PDF の URL とラベル名を合わせて指定することにより、特定ページにジャンプすることになります。

前述したような Named Destination 情報を持つ PDF にリンクを張る場合、以下のように指定することにより、特定のページ位置を表示することが可能です。

<a href="http://www.foo.com/linktest.pdf#nameddest=myJumpTest">PDF参照</a>

pdfmarkの詳細につきましては、以下を参考にしてください。

 「pdfmark Reference Manual Technical Note #5150」(PDFMARK.PDF)

  511364 Acrobat 7.0 SDK : pdfmark Reference Manual 日本語版

 

Additional Information(追加情報)

 

pdfmarkを使って Named Destination 情報を記述する場合、ある程度の PostScript フォーマット仕様について知識が必要となります。対応すべき PS ファイルの数が少量であれば、エディタ等を使用して記述する方法もありますが、大量に編集する必要がある場合は、専用アプリケーションを開発すべきかもしれません。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー