2013-08-21 13 views
6

ゴール:ブラウザのデフォルトのブラウザを置き換えるために、ズームとドラッグ/パン機能を持つブラウザベースのpdfビューア(より良い方が保存機能を隠すことができます)ブラウザーのPDFビューアーをプログラム(HTML、JS、PHPなど)で変更するにはどうすればよいですか?

問題:すべてのブラウザ

<object id = 'zoomPage' type='application/pdf' data= '1.pdf'> 
    <p>The PDF can not display 
    </p> 
</object> 

それはPDFファイルを開くには、Adobeリーダーを使用して、すべてのブラウザ(クローム、FireFoxの、IE8 +)を強制することは可能です:ドラッグ/パン機能なし

現在、このコード使用デフォルトのPDFビューアがあることPDFビューア、 javascript/jquery/html/phpを使用していますか?または、上記の機能を持つWebベースのPDFビューアがありますか?

注:最初のアプローチの

Iは方法を発見例えば コンテンツディスポジション:添付ファイル

それが唯一のアプローチ2用のPDFファイル

+1

フォースあなたのPDFを閲覧する誰にも意味や力(自分のマシン上で意味しますか)?自分のマシンで、そのMIMEタイプのファイルの関連付けをFirefoxで常に開くように変更し、他のブラウザのいずれかがFirefoxの "application/pdf"ファイルを開こうとするたびにFirefoxを立ち上げる可能性があります。誰かのマシンで?私はそうは思わない。私はあなたの気まぐれで私のマシンでJSを実行させることは決してありません。 –

+1

ブラウザでファイルに使用する外部プログラムをリモートから選択できる場合は、セキュリティホールと見なします。 – mkl

+0

私はサイトを訪れて、自分のpdfビューアや、インストールしなかった/使用することに同意したソフトウェアを使用していることに気づいた場合、ブラウザウィンドウを閉じてそのサイトをブラックリストに入れると...ソフトウェアではなくデータを要求しています...私が何を求めても何も望みません。それ以上のものはありません –

答えて

7

を開くことに優先順位を変更しない、PDFをダウンロードして見てから動作を変更:(私はお勧め) チェックアウト:

https://github.com/mozilla/pdf.js/ 

PDF.js HTML5で構築されたPDF(Portable Document Format)形式ビューアです。

PDF.jsはコミュニティ主導型であり、Mozilla Labsによってサポートされています。私たちの目標は で、 を解析しPDFをレンダリングするための汎用のWeb標準ベースのプラットフォームを作成することです。

編集:スピードが必要な場合は、他のオプションについての説明をここで確認してください:Recommended way to embed PDF in HTML?と他のオプションが要件を満たしているかどうかを確認してください。

アプローチ1を使用すると、クライアント側にそれを強制することができます

+0

ありがとう。このビューアは良いです。 pdf.jsを使用すると、pdfをキャンバスに変換することができます。次にドラッグすることができます。唯一の問題は、より多くの時間、メモリ消費と画質(変換後であるため)がネイティブPDFビューアよりも悪いことです。 – user782104

+3

ここでは良い議論が行われています:http://stackoverflow.com/questions/291813/ pdf-in-htmlを参照してください。 – Slartibartfast

+0

実際、firefoxの場合、これは組み込みのPDFビューアです。 – puetzk

2

唯一の方法は、そのようななどpdf.js、Zohoの、GoogleのPDFビューア、Scribdの、など...代替を供給することであるセキュリティ上の理由で、本質的にdiceyです(沢山あります)。 Adobeがあなたが期待しているようなブラウザ内のPDFビューアを提供しているかどうかはわかりません。

デフォルトのpdfビューアは、about:configにある変数に保存されています。この変数は、ユーザーだけが変更できます。

+0

お返事ありがとうございます.js/jqueryプラグインがありますので、pdfビューアにドラッグ機能を追加できますか?私はいくつかのプラグインを試しましたが、それらのほとんどはhtml要素をサポートしています。 pdfビューアオブジェクトではなくtext/imgをドラッグします。 – user782104

+0

あなたはいくつかの単純なajaxトリックを使って、pdfビューア上でドラッグドロップが起こっているように見せることができます。通常のhtml divレイヤーを使用してドロップをキャプチャし、pdfビューアにロードします。 – Litmus

1

それはジャバスクリプト/ jqueryの/ htmlの /PHPを使用してPDFファイルを開くには、Adobeリーダー を使用して、すべてのブラウザ(クローム、FireFoxの、IE8 +)を強制することは可能ですか?

これは、PDFファイルを指すiframeを使用して試すことができます。ブラウザは、クライアントマシン上のpdfリーダーソフトウェアを使用してpdfファイルを自動的に開きます。このように:

<iframe src="yourpdffile" style="width:100%;height:500px"></iframe> 
1

あなたはセキュリティ上の問題のために、クライアントに何かを強制することはできませんが、thisようなもので確認することができます。私の前の文章は私がブラウザとコーディングで経験したことに従っていますが、私は何か間違ったことを言うことができます。

アドビはJavaScriptを使用して、Readerと thisのようなスクリプトでインストールリーダー(私は数ヶ月前にこれらの行を使用してきましたし、彼らが働く)

  • があるかどうかを確認コードがあるかどうかを制御することができます

    1. おそらくあなたのためのプラグイン(最初の文章リンク)thisプラグインを使用してみてください。

  • 0

    google docs viewerを使用してこの機能を実現することもできます。 https://docs.google.com/viewer

    あなたはiframeのURLを取得し、あなたのサイトにそれを置くことができます。

    はちょうどこのリンクを参照してください。

    <iframe src="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.yoursite.com%2Fpdf%2Ftest.pdf&embedded=true" width="600" height="780" style="border: none;"></iframe> 
    

    srcurlパラメータのvalueurl encodedであることに注意してください。

    チェックアウトJSフィドル例here

    関連する問題