Adobe Readerのプラグインのインストールがないので、それはおそらくをダウンロードしています。この場合、IE(どのバージョンでも問題ありません)をレンダリングする方法がわからず、単にファイルをダウンロードします(たとえば、Chromeには独自のPDFレンダラが組み込まれています)。
と言われています。 は、PDFを表示する最善の方法ではありません(モバイルブラウザ(Safariなど)との互換性を忘れないでください)。一部のブラウザは、外部アプリケーション内(または別のブラウザウィンドウ内)で常にそのファイルを開きます。私が見つけた最良かつ最も互換性のある方法は少しトリッキーですが、私は(も、かなり時代遅れ)しようとしたすべてのブラウザで動作します:
あなた< iframe>
を保つが、それはHTMLで満たされるでしょう、その中にPDFを表示しません。ページは<object>
タグで構成されます。あなたのPDF用のHTMLラッピングページを作成し、それがのようにこのなります。もちろん
<html>
<body>
<object data="your_url_to_pdf" type="application/pdf">
<embed src="your_url_to_pdf" type="application/pdf" />
</object>
</body>
</html>
をあなたはまだ適切なプラグインブラウザにインストールする必要があります。モバイルデバイスでSafariをサポートする必要がある場合は、this postもご覧ください。
第一。なぜ<embed>
が<object>
の中にネスティングされていますか?答えはhere on SOです。ネストされた<embed>
タグの代わりに、あなたのユーザ(またはビルトインビューア、次の段落を参照)のためのカスタムメッセージを提供する必要があります(!)。今日は<object>
が心配なく使用でき、<embed>
は役に立たない。
第二。なぜHTMLページですか?したがって、PDFビューアがサポートされていない場合、フォールバックを提供することができます。内部ビューア、プレーンHTMLエラーメッセージ/オプションなど...
PDF.JSプロジェクトを見て、あなたの顧客に別のビューアを提供するかもしれないので、PDFサポートをチェックするのは難しいですが、デスクトップブラウザ用 - ネイティブ PDFレンダラほど良好ではない(私が原因で、画面サイズのモバイルブラウザの違いを見ていない、私は考えます)。
ありますAdobe Readerプラグインがインストールされている場合にのみiframeを表示し、そうでない場合はエラーメッセージを表示します。 – user2931470
はい...「iframe」を使用していません!エラーメッセージ(または別のビュー、私の答えの最後の部分を参照)を提供できる "オブジェクト"を使用してください。 –
これは現在動作していますが、ファイルはズームインされていますか?私はiframeを使っていたので、divの幅に収まるようにpdfができました。 – user2931470