文檔控件NTKO OFFICE 詳細使用說明之預覽PDF文件(禁止打印、下載、另存為、防抓包下載)


1、在線預覽PDF文件(禁止打印、下載、復制、另存為)

(1) 運行環境

① 瀏覽器:支持IE7-IE11(平台版本還支持ChromeFirefox

② IE工具欄-Internet 選項:將www.ntko.com加入到瀏覽器的可信站點中,不啟用保護模式,並將HTTPS驗證取消

③ 如果是開發人員首次使用文檔控件,需要將控件手動注冊控件,獲取控件的版本clisid以及版本信息Version(如果程序已經開發完則可以忽略此步驟)

(2) 創建一個加載控件的JS文件,用戶只需修改控件版本號Versionclassidcab包路徑,以及添加授權即可。具體可訪問http://dev.ntko.com:8000/查看

JS文件代碼如下:(-1表示TRUE,0表示FALSE

 

//----在線預覽pdf文件,禁止打印、下載、復制
document.write('<object id="TANGER_OCX" classid="clsid:A64E3073-2016-4baf-A89D-FFE1FAA10EC0" ');//控件唯一Id,classid
document.write('codebase="NTKO/OfficeControl.cab#version=5,0,3,0" width="100%" height="100%"> ');//cab包路徑以及版本號,控件大小
document.write('<param name="Toolbars" value="-1"> '); //工具欄
document.write('<param name="Titlebar" value="-1"> '); //標題欄
document.write('<param name="Caption" value="華測計量技術有限公司專用">');//標題內容
document.write('<param name="Menubar" value="0"> '); //菜單按鈕
document.write('<param name="IsUseControlAgent" value="-1"> '); //只允許控制請求數據document.write('<param name="IsNoCopy" value="0"> ');//0表示不允許復制
document.write('<param name="FileOpen" value="0"> ');//打開文件
document.write('<param name="FileNew" value="0"> ');//新建文件
document.write('<param name="FileSave" value="0"> ');//保存文件
document.write('<param name="FileSaveAs" value="0"> ');//另存為
document.write('<param name="FilePrint" value="0"> ');//打印
document.write('<param name="FilePrintPreview" value="0"> ');//打印預覽
document.write('<param name="ProductCaption" value="Office Anywhere 3.0"> ');
document.write('<param name="ProductKey" value="65F867689D7FF5CD02FBE4AA23764306F715A9E2">');//授權產品的秘鑰
document.write('<SPAN STYLE="color:red">不能裝載NTKO OFFICE文檔控件。請在檢查瀏覽器的選項中檢查瀏覽器的安全設置。</SPAN> ');
document.write('</object> ');

 

View代碼如下:

 

<html><head>
    <title>NTKO Office文檔控件預覽pdf演示示例</title>
    <meta http-equiv="content-type" content="text/html; charset=gb2312">
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>
    <script language="javascript">
        //控件加載完畢后,才進行pdf插件的注冊
        $(function () {
            //alert("ntko loading...");
            inIt();
        });
        function inIt() {
            //TANGER_OCX_OBJ控件id
            TANGER_OCX_OBJ = document.getElementById("TANGER_OCX");
            if (TANGER_OCX_OBJ == null) {
                alert("NTKO OFFICE文檔控件未能正確裝載。請在本頁面裝載時窗口上方出現的提示條上點擊裝載ActiveX控件,並在隨后出現的安裝ActiveX的對話框中選擇‘是’。");
                return;
            }
            //---------以下是告知文檔控件,增加對PDF文檔類型的支持。
            //AddDocTypePlugin方法參數說明:第一個參數擴展名,第二個參數ProID,第三個參數版本號,第四個參數是pdf插件相對當前網頁的URL,
            //第5個參數是文檔類型標識,第6個參數是是否自動下載插件dll,當設定為自動下載時,會比較當前客戶機安裝的版本,如果比第3個參數
            //指定的版本底,或者客戶機沒有安裝,會自動下載並注冊插件dll。
            TANGER_OCX_OBJ.AddDocTypePlugin(".pdf""PDF.NtkoDocument""4,0,0,5""@Url.Content("~/NTKO/ntkooledocall.cab")"51true);
            //alert("pdf插件注冊成功");
            OpenFile();
        }
        //打開文檔
        function OpenFile() {
            //以流的形式返回文件
            TANGER_OCX_OBJ.BeginOpenFromURL('@Url.Action("ReturnFileStream","pdfview")'true);
        }
</script>
</head>
<body bgcolor="#ffffff">
<script src="~/Scripts/ntkoGenObj.js"></script>
</body>
</html>

 

 Controller代碼如下:

 

        //以文件流的形式返回,設置格式為application/xhtml+xml可以預防抓包下載
     public ActionResult ReturnFileStream()
        {
            var bytes = Properties.Resources.pdf;//本地測試PDF文件(依項目而定)
            var fileStream = new MemoryStream(bytes);
            return new FileStreamResult(fileStream, "application/xhtml+xml");
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM