2011-12-05 28 views
3

この質問の長さをお詫び申し上げますが、背景説明が必要です。Internet ExplorerのPDFリーダー

背景:

私は、iframe内にPDFファイルを表示する内部のWebアプリケーションに取り組んでいます。 Adobe Reader Xには、ブラウザにPDFを表示するための「読み取りモード」があります。これにより、シェルが削除され、マウスが「中央の中央」にあるときにpdfの下にメニューボックスが追加されます。 Xより前のバージョンでは、JavaScriptを使用してツールバーのメニュー項目を変更することができました。私は必要なもの

私は、「読み取りモード」でPDFファイルを表示し、すべてのメニュー項目を削除する必要があります。このアプリを実行するコンピュータは基本的にキオスクで、文字通りコンピュータ、モニタ、マウスです。プリンタなし、キーボードなし、他の対話性なし。

私の質問はこれです: インターネットエクスプローラで読むためにpdfを読み込み、スクロール以外のすべてのやりとりを無効にするにはどうすればいいですか?つまり、メニューがなく、コンテキストメニューがなく、ボトムセンターがマウスオーバーしているときには「シャドーバー」がありません。私はAdobeに代わるものを探していましたが、いくつかの素晴らしいものがありますが、私はブラウザプラグインを持っていることがわかっていて、IE用のプラグインはありません。

誰かが、PDFコンテンツをロードする方法を知っていれば、より良いルートになるでしょう。

詳細情報:

ことができます場合は、これがInternet Explorer用に構築されている間に、ウェブページだけでフルスクリーンのブラウザコントロールでWindowsフォームにロードされます。私が試した

他のもの:

私はまた、唯一の表示内容をカバーし、PDFファイルのiFrameの上に透明のiFrameを配置しようとしたが、そのままスクロールバーを残しています。私は何かがpdfをロードした場合、これは完璧に働いた。他のウェブサイトを読み込んだ場合、それは期待どおりに機能しました(もちろん、スクロールホイールはウェブページをスクロールしません)。 pdfがロードされた場合、表示されるのはすべて白い四角です。透明なiFrameを削除するにはdevツールバーを使用してください。

+0

これらのメソッドのいずれかまたはすべてを使用するソリューションがある可能性があるため、C#、JavaScript、およびHtmlタグを追加しました。 –

答えて

1

私は最終的な解決策を考え出しました。

ニーズ:

  1. iframe内に負荷PDF "リーダーモード" でなく、影のバー
  2. PDFのコンテキストメニューが

を無効にすべきではないとの最初の必要性に対処すると簡単です。いくつかの警告。 iFrameのソースを「pathToPdf/document.pdf#toolbar = 0 & navpanes = 0」に設定します。ここで注意しなければならないのは、少なくともIEでこれが壊れると、ブラウザを閉じて再度作業する必要があるということです。だから、それを壊すことができますか?

  • ユーザーが右クリックしてナビゲーションペインのボタンを開きます。
  • ユーザーは、キーボードのエスケープボタンを押します。

Webページは、Windowsフォームのブラウザコントロールに読み込まれています。幸運なことに、一度そこに壊れてしまっても、閉じたり開いたりすることなく正常に動作します。 PDFの閲覧には問題はあります。私はエスケープキーを心配する必要はありません。なぜなら、アプリはKIOSK(基本的に)で実行されているし、キーボードもマウスもないからです。

コンテキストメニューを無効にすることは、最も難しいことです。 Webブラウザコントロールには、 "False"に設定するとブラウザのコンテキストメニューが無効になるIsWebBrowserContextMenuEnabledプロパティがあります。おそらく、Adobe Readerがプラグインなので、PDFには影響しません。 Reader Xでは、レジストリ設定(JavaScript)やJavaScriptメソッド、またはコンテキストメニューを無効にする一般的な設定はありません。

私は何かを思い出したときに私はあきらめる準備ができました。これはキオスクで、マウスの右ボタンは必要ありません。だから解決策。レジストリを変更し、内部OSの右クリックをオフにします。単にregeditを開いているとのgotoことを行うには:

  • ます。HKEY_CURRENT_USER \ Software \ Microsoft \ Windowsの\ CurrentVersionの\ポリシーエクスプローラ
  • 検索(またはそれが存在しない場合は作成します) "NoViewContextMenu" という名前のDWORDキーを\します。
  • 値を1にすると右クリックが無効になり、0にすると有効になります。

概要:

  1. 使用 "pathToPdf/document.pdf番号ツールバー= 0 & navpanes = 0"
  2. 無効に右Windowsレジストリに

[編集]をクリックします。

Th eレジストリのハックは、Windowsエクスプローラでマウスの右ボタンを無効にするだけです。私たちは良いソフトウェアソリューションを見つけることに幸運を覚えていないので、独自のカスタムマウスドライバを作成するか、単にマウスをポップアップして物理的なトリガーメカニズムを削除するかのどちらかがあります。

+1

テストで私は、レジストリのハックは、Windowsエクスプローラの右クリックを無効にすることを発見した。それは右マウスボタンシステム全体を無効にしません...私はより良い解決策を持っているときに私は再び更新されます。 –

4

私は良い部分解決策を見つけました。 PDFObjectと呼ばれる製品。

それを使用して、私は自分のページに次のJavaScriptを追加することができます。

function embedPDF() { 
     var myPDF = new PDFObject({ 
      url: 'PathToPdf.pdf', 
      pdfOpenParams: { 
       scrollbars: '1', 
       toolbar: '0', 
       statusbar: '0', 
       messages: '0', 
       navpanes: '0' 
      } 
     }).embed('DivToLoadPdfInto'); 
    } 

    window.onload = embedPDF; 

これはdiv要素にPDFを埋め込み、ツールバー、ステータスバー、メッセージ、navpanesを削除し、まだスクロールバーが可能になります。これにより、シャドウボックスメニューが表示されなくなります。これは素晴らしいことです!

ユーザーはpdfを右クリックすることができますので、JavaScriptで標準の右クリックブロッカーを試してみて、何か作業ができるかどうかを編集します。

編集:

URLパラメータのための優れたリソースがhereを見つけることができます。

+0

PDFObjectのウェブサイトは、Adobe Readerが可能な機能を決定するための素晴らしいリソースです。 Javascriptファイルは必要でもなく、ガイドを使用して必要な埋め込みコードを作成することもできます。 –

+0

私は、PDFObjectサイトをリソースとして使って、これを行うことを検討していました。私が発見した1つの問題は、それがシャドウボックスを削除しないことです、それはウィンドウの下部から上部に移動します... –

+0

ええ、私はあなたがそれを避けることができるとは思わない。 Adobe Readerのオプションには制限があります。 –