Webブラウザ内にPDFを表示する


84

Webブラウザ内の.htmlページにPDFを表示するにはどうすればよいですか?

回答:


120

Googleドキュメントの埋め込み可能なPDFビューアを使用しています。ドキュメントをGoogleドキュメントにアップロードする必要はありませんが、オンラインで利用できる必要があります。

<iframe src="http://docs.google.com/gview?url=http://path.com/to/your/pdf.pdf&embedded=true" 
style="width:600px; height:500px;" frameborder="0"></iframe>

3
このソリューションでは、一部のユーザーにはPDFファイルが表示されませんが、Googleから最初にログインするように求められます。
フィリップゼドラー2013年

41
この解決策について質問があります。グーグルは私のPDFファイルのコピーをサーバーに保存しますか?コンテンツのプライバシーは保護されますか?
HD。

@Alexは確かに知っている、試してみてください...私は試してみます-// docs.google.com/gview?url =://path.com/to/your/pdf.pdf&embedded=true as iframe src
bradenkeith

これは、iFrameのsrcをpdfに直接設定する@Willのソリューションとどのように異なる/優れていますか?直接リンクは実際にPDFを表示するためにソフトウェアクライアント側に依存すると思いますが、グーグルドキュメントも同様に機能しませんか?
フェリックス・ガニオン-グルニエ

3
@hd。はい、Googleは埋め込みディスプレイを介してPDFを表示するだけです。コピーを保持しているとは思いませんが、ページごとの表示に変換する必要があるため、ある時点で、ページごとにPNGに変換されると思います。この回答を使用している場合は、GoogleにはGoogleドキュメント以外のドキュメントの帯域幅制限があることに注意してください。使い果たされると、PDFは表示されず、帯域幅を超えたことを示すメッセージが表示され、後で再試行します。
ジョン

36

iframeを使用する代わりに、サードパーティに応じて、flexpaperまたはpdf.jsの使用を検討してください。

PDF.jsを使用しましたが、問題なく動作します。これがデモです。


3
どうして第三者じゃないの?
アレックス

41
これは、サードパーティのサービスではなく、サードパーティのコードです。
コリンアンダーソン

VPN環境のアプリケーションのためのより良いソリューション。
Erlan 2017

19

オブジェクトタグを使用して優先

<object data='http://website.com/nameoffolder/documentname.pdf#toolbar=1' 
        type='application/pdf' 
        width='100%' 
        height='700px'>

幅と高さは任意の値に変更できることに注意してください 。http://www.w3schools.com/tags/tag_object.aspにアクセスしてください。


あなたが投稿したようなものは、答えに対するこれ以上の洞察を提供しません。
ダニエルW.クロンプトン2014

2
質問は、Webブラウザ内の.htmlページにPDFを表示するにはどうすればよいですか?html 5オブジェクトタグを使用すると、次のようになります... <object width = "400" height = "400" data = "helloworld.swf"> </ object>この要素を使用して、マルチメディア(オーディオ、ビデオ、Javaアプレットなど)を埋め込みます。 WebページのActiveX、PDF、およびFlash)。
BAKARI SHEGHEMBE 2014

あなたは完全に正しいです、しかし、w3schoolsへのリンクはあなたがそれを書いたように答えを補足するためにそれ以上の情報を与えません。
ダニエルW.クロンプトン2014

ブラウザにPDFビューアがない場合、これは機能しません
Umair Hamid 2014

1
はい、そうです。オブジェクトタグの良いところは、それを検出できることです。また、訪問者がgdrive、onedriveなどを介してページを表示するためのオプションをさらに追加できます。<object data = ' example.com / path.pdf#toolbar = 1'type =' application / pdf'width = ' 100% 'height =' 700px '> <p> WebブラウザがPDFファイルを表示するように構成されていないようです。心配はいりません。< ahref = ' example.com / path.pdf'>ここをクリックしてPDFファイルをダウンロード</a>または< ahref = "ドライブ.google.com / [ドライブパス] / view?usp = sharing ">表示するにはここをクリック</a> </ p> </ object>
BAKARI SHEGHEMBE 2014

19

最も簡単な方法は、iframeを作成し、ソースをPDFのURLに設定することです。

(アヒルの狂ったHTMLデザイナー)自分でやった、うまく動作する、クロスブラウザー(バンカーに這う)。


8
IEにPDFプラグインがインストールされていない場合は機能しません
Collin Anderson

3
それはどのように明白ですか?「クロスブラウザ」への有用な補遺のようです。
showdev 2015

1
これは、他のすべてのサードパーティのものよりもセットアップが非常に簡単でした。2011年のパフォーマンスはわかりませんが、2016年は非常に高速で、便利な機能が満載です。また、Chrome、FF、IE全体でうまく機能しているようです
2016

1
AndroidフォンのChromeでは機能しません。PDFをダウンロードして別のアプリで開きます(お持ちの場合)。また、iOSのSafariで他のページにスクロールすることはできません。PDFの最初のページが表示されます。
Vasiliy Zverev 2016

7

ブラウザのプラグインがこれらの設定を制御するため、強制することはできません。ただし、の<a href="whatver.pdf">代わりに単純なことを行うことができます<a href="whatever.pdf" target="_blank">


最後に、彼らがこの答えのために何について話しているかを知っている誰か。これが最良の答えであり、最も単純です。@jschorrは絶対に正しいです。ブラウザがこれらの設定を制御します。最も効率的!!
Val

4

PDFをホストしている限り、ターゲット属性が最適です。つまり、相対ファイルの場合、_blank値でtarget属性を使用すると問題なく機能します。

<e>
  <a target="_blank" alt="StackExchange Handbook" title="StackExchange Handbook"
     href="pdfs/StackExchange_Handbook.pdf">StackExchange Handbook</a>

絶対パスの場合はエンジンがに行きますU nified R esource L ocator、それ彼らを開きます。したがって、ターゲット属性を抑制します。

<e>
  <a alt="StackExchange Handbook" title="StackExchange Handbook"
     href="protocol://url/StackExchange_Handbook.pdf">StackExchange Handbook</a>

どちらの場合も、ブラウザは信頼できる良い仕事をします。


この解決策は、受け入れられた答えよりもはるかにうまく機能しました。また、私は機密情報を扱っているため、ドキュメントを公開しないことが重要でした。
キャスパーウィルクス


3

次のコードを使用できます。

<embed src="http://domain.com/your_pdf.pdf" width="600" height="500" alt="pdf" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html">

または、Googleドキュメントの埋め込み可能なPDFビューアを使用します。

<iframe src="http://docs.google.com/gview?url=http://domain.com/your_pdf.pdf&embedded=true" 
style="width:600px; height:500px;" frameborder="0"></iframe>

1

この単純なGoogleDocアプローチを使用することもできます。

<a  style="color: green;" href="http://docs.google.com/gview?url=http://domain//docs/<?php echo $row['docname'] ;?>" target="_blank">View</a>

これにより、フローを歪めることなくドキュメントを表示するための新しいページが作成されます。


おかげで、これはうまくいきます。しかし、ユーザーがインターネットに接続せずにPDFを見たい場合はどうでしょうか?
ユーザー

pdf.js github.com/mozilla/pdf.jsなどのJQueryライブラリを使用できます 。2。PDFをHTMLファイルに埋め込むためのJavascriptライブラリであるPDFObjectを確認してください。ブラウザの互換性をかなりうまく処理し、IE8で動作する可能性が高いです。
asuquo12 2017年

0

簡単な解決策は、それをiframeに入れて、ユーザーがそれをサポートするプラグインを持っていることを期待することです。

(私はそうではありませんが、Acrobatプラグインはリソースを大量に消費し、不安定さの原因となっているため、触れるブラウザからプラグインを削除することにしました)。

複雑ですが、比較的人気のある解決策は、フラッシュアプ​​レットに表示することです。


0

JPedal(Javaライブラリ)を使用して、PDFファイルページをサーバー上でPNGファイルとしてレンダリングします。これをJavaScriptと組み合わせると、視覚化とナビゲーションを高度に制御できます。


これは素晴らしいことだと思いますが、多くのリソースが必要です。
eveevans 2014

ただし、ユーザーはPNGからテキストをコピーして貼り付けることはできません。
Vasiliy Zverev 2016

0

私は最近、.pdfドキュメントのよりモバイルフレンドリーで応答性の高いバージョンを提供する必要がありました。これは、狭い電話画面では左右に大きくスクロールする必要があるためです。垂直スクロールのみを許可し、水平スクロールを回避するために、次の手順が有効でした。

  • Chromeブラウザで.pdfを開きます
  • [Googleドキュメントで開く]をクリックします
  • [ファイル]> [ダウンロード]> [Webページ]をクリックします
  • ダウンロードしたドキュメントをクリックして解凍します
  • 解凍したHTMLドキュメントをクリックして、Chromeブラウザで開きます
  • fnF12を押してChrome開発ツールを開きます
  • copy(document.documentElement.outerHTML.replace(/ padding:72pt 72pt 72pt 72pt; /、'').replace(/ margin-right:。*?pt / g、 ''))をコンソールに貼り付け、Enterキーを押します微調整したドキュメントをクリップボードにコピーするには
  • テキストエディタ(メモ帳など)を開くか、私の場合はVSCodeを貼り付けて、.html拡張子を付けて保存します。

結果は見栄えが良く、デスクトップ環境とモバイル環境の両方で使用できました。



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.