Adobe PDFビューアーを表示するときに、HTMLファイルで使用するのに最適なタグはどれですか。現在、私は以下のコードを使用していますが、奇妙な副作用があります(たとえば、別のINPUTテキストボックスに設定した開始フォーカスを盗むようです。jQueryUIResizeableクラスでは実際に再生できないようです) ;など)
<embed src="abc.pdf" type="application/pdf" />
OBJECTタグでも同じことができますか?あるタグと他のタグを使用することの利点/欠点はありますか?
結論:OBJECTは良い、EMBEDは古い。 IEのPARAMタグに加えて、ブラウザがOBJECTの参照プラグインをサポートしていない場合、OBJECTタグ間のコンテンツがレンダリングされます。また、コンテンツはレンダリングされるかどうかに関係なくhttp要求を取得します。
object
は、ページに何かを埋め込むための現在の標準タグです。 embed
は、Netscapeによって(img
に沿って)含まれていましたobject
のようなものが w3c 心にある前に。
<object data="data/test.pdf" type="application/pdf" width="300" height="200">
alt : <a href="data/test.pdf">test.pdf</a>
</object>
本当に必要インラインPDFをほぼすべてのブラウザーで表示する場合、古いブラウザーはembed
を理解しますが、object
は理解しないため、これを行う必要があります。
<object data="abc.pdf" type="application/pdf">
<embed src="abc.pdf" type="application/pdf" />
</object>
このバージョンは検証しません。
その他のオプション:
<object type="application/pdf" data="filename.pdf" width="100%" height="100%">
</object>
<object type="application/pdf" data="#request.localhost#_includes/filename.pdf"
width="100%" height="100%">
<param name="src" value="#request.localhost#_includes/filename.pdf">
</object>
また、iframeメソッドを使用することもできますが、これはクロスブラウザー互換ではありません(たとえば、chromiumまたはAndroidおよびおそらくその他->代わりにダウンロードするように求められます)。 dataURLと通常のURLで動作します。他の例がdataURLSで動作するかどうかはわかりません(他の例がdataURLSで動作するかどうかを教えてください)。
<iframe class="page-icon preview-pane" frameborder="0" height="352" width="396" src="data:application/pdf;base64, ..DATAURLHERE!... "></iframe>
おそらく、WebページでのPDF表示に最適なクロスブラウザーソリューションは、Mozilla PDF.jsプロジェクトコードを使用することです。node.jsサービスとして実行し、次のように使用できます。
<iframe style="width:100%;height:500px" src="http://www.mysite.co.uk/libs/pdfjs/web/viewer.html?file="http://www.mysite.co.uk/mypdf.pdf"></iframe>
Pdf.jsの使用方法に関するチュートリアルは、こちらにあります ejectamentaブログ記事
オブジェクトはそうですが、埋め込みは標準タグではありません。 記事 は、状況がそれほど単純ではないように見えるので、役立つと思われます。 PDFの例が含まれています。