zoukankan      html  css  js  c++  java
  • 文档控件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");
            }
  • 相关阅读:
    Web框架高级功能之模板、拦截器、Json、打包
    前端技术发展史、Nodejs语法
    子集树与排列树
    Web开发---路由实现
    JS, Jquery进行前台翻页
    Jquery将Ajax返回的Response添加到table中
    显示字符太长??来隐藏
    关于code 上server的证书的问题
    关于Ajax call get and post method, 和前端解决跨域
    2017-05-03与03May2017之间的转化
  • 原文地址:https://www.cnblogs.com/william-CuiCui0705/p/8571618.html
Copyright © 2011-2022 走看看