簡體   English   中英

Internet Explorer PDF閱讀器

[英]Internet Explorer PDF Reader

我為這個問題的長度道歉,但需要一些背景解釋。

背景:

我正在開發一個內部Web應用程序,它將在iframe中顯示pdf。 Adobe Reader X提供了一種“讀取模式”,用於在瀏覽器中顯示pdf。 這將刪除shell,並在鼠標位於“中間中心”上方時將菜單框添加到pdf的底部。 在X之前的版本中,您可以使用JavaScript來修改工具欄菜單項。

我需要的:

我需要在“讀取模式”中顯示pdf並刪除所有菜單項。 要運行此應用程序的計算機基本上是一個自助服務終端,實際上是計算機,顯示器和鼠標。 沒有打印機,沒有鍵盤,沒有其他交互性。

我的問題是:如何加載pdf以便在Internet Explorer中閱讀,並禁用除滾動之外的所有交互。 也就是說,當底部中心被鼠標懸停時,沒有菜單,沒有上下文菜單,也沒有“陰影條”。 我一直在尋找Adobe的替代品,有一些很棒的,但我發現有一個瀏覽器插件,沒有IE的插件。

如果有人知道如何加載PDF內容,這將是一個更好的路線。

更多信息:

如果它有幫助,雖然這是為Internet Explorer構建的,但網頁將被加載到一個只有全屏瀏覽器控件的Windows窗體中。

我試過的其他事情:

我還嘗試在pdf iFrame上放置一個透明的iFrame,僅覆蓋顯示的內容,但保留滾動條完好無損。 如果我加載任何東西但是pdf,這就完美了。 如果我加載任何其他網站然后它按預期工作(除了滾輪當然不滾動網頁)。 如果加載了pdf,那么所有出現的都是白色方塊。 使用開發工具欄刪除透明的iFrame,PDF看起來不錯。

我找到了一個很好的部分解決方案。 一種名為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;

這將pdf嵌入div並刪除工具欄,狀態欄,消息,navpanes,但仍允許滾動條。 這可以防止陰影框菜單出現,這太棒了!

用戶仍然可以右鍵單擊pdf,這樣我就可以嘗試使用JavaScript中的標准右鍵單擊攔截器,並編輯是否可以使用。

編輯:

可以在此處找到URL參數的良好資源。

好的,所以我想出了最終的解決方案。

需求:

  1. 在“閱讀器模式”下在iFrame中加載PDF但沒有陰影條
  2. 應禁用PDF上下文菜單

一些警告可以輕松解決第一個需求。 將iFrame的源設置為“pathToPdf / document.pdf#toolbar = 0&navpanes = 0”。 這里需要注意的是(至少在IE中),一旦打破,瀏覽器需要關閉並重新打開才能再次運行。 那么,有什么可以打破它?

  • 用戶右鍵單擊並打開導航窗格按鈕。
  • 用戶按下鍵盤上的退出按鈕。

該網頁被加載到Windows窗體的瀏覽器控件中,幸運的是,一旦打破它就可以正常工作而無需關閉和重新打開。 對於正在查看的PDF,仍然可能是一個問題。 我不必擔心轉義鍵,因為應用程序在KIOSK上運行(基本上)並且沒有鍵盤,只有鼠標。

事實證明,禁用上下文菜單是最困難的事情。 Web瀏覽器控件具有“IsWebBrowserContextMenuEnabled”屬性,當設置為“False”時,將禁用瀏覽器的上下文菜單。 可能因為adobe reader是一個插件,這不會影響PDF。 使用Reader X,沒有注冊表設置(我可以找到)或JavaScript方法,或一般設置將禁用上下文菜單。

當我記起一些東西時,我已經准備好放棄了。 這是一個自助服務終端,不需要鼠標右鍵。 所以解決方案; 修改注冊表並關閉內部操作系統的右鍵單擊。 要做到這一點,只需打開注冊表並轉到:

  • HKEY_CURRENT_USER \\ SOFTWARE \\微軟\\的Windows \\ CurrentVersion \\政策\\ Explorer中
  • 查找(或創建它是否存在)名為“NoViewContextMenu”的DWORD鍵。
  • 值為1將禁用右鍵單擊,0將啟用。

摘要:

  1. 使用“pathToPdf / document.pdf#toolbar = 0&navpanes = 0”
  2. 禁用Windows注冊表中的右鍵單擊

編輯:

注冊表黑客只在Windows資源管理器中禁用鼠標右鍵。 我們沒有找到一個好的軟件解決方案,所以我們要么編寫自己的自定義鼠標驅動程序,要么只是彈出鼠標並刪除物理觸發機制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM