精华内容
下载资源
问答
  • jQuery实现页面选择性打印功能

    千次阅读 2013-09-18 10:05:22
    对于页面信息的打印相信很多项目当中都会遇到,今天将最近项目中的打印功能记录下来,以备日后使用。打印内容相对比较灵活 1、创建打印按钮 打印 2、打印时调用的函数 function doPrint() { $("#china,#tr_...
    对于页面信息的打印相信很多项目当中都会遇到,今天将最近项目中的打印功能记录下来,以备日后使用。打印内容相对比较灵活
    1、创建打印按钮
    <a class="print" href="javascript:;" style="margin-left: 800px;" onClick="doPrint()">打印</a>
    
    
    2、打印时调用的函数
    function doPrint() { 
    	$("#china,#tr_basicss,#people,#times,#information").hide();
    	$(".biao").css("display","block");
    	$(".td_text").css("line-height: 30pt"); 
    	$(".san,.gong,.chan,.dang,.print,.def,.ge").css("display","none");
    	$("td,b").css("font-size","20px"); //设置打印时的字体大小
    	$(".bianhao,.font").css("font-size","20px");
    	$(".fonts").css("font-size","50px");
    	$("#approveInfo,.styles,.disposalreg,.disposalprecept,.stepresult,.zjcontent,.content,.approveinfo,.pcqk").css
    ("line-height","28pt");//line-height设置行间距
    $(".styles,.disposalreg,.disposalprecept,.stepresult,.zjcontent,.content,.approveinfo,.pcqk").css
    ("font-size","20px");bdhtml=window.document.body.innerHTML; //获取当前页的html代码
    sprnstr="<!--startprint-->"; //设置打印开始区域       
    eprnstr="<!--endprint-->"; //设置打印结束区域      
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); //从开始代码向后取html       
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //从开始代码向钱取html
    window.document.body.innerHTML=prnhtml; window.print(); }


    展开全文
  • C-Lodop打印页面

    千次阅读 2017-09-21 14:43:00
    基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息 在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单、运单合并、...

    基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息

    在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单、运单合并、到货扫描、扣仓、出仓、查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于之前介绍LODOP不兼容Chrome等浏览器,因此曾经想放弃这个控件的打印处理,不过他们及时推出了“云打印控件C-Lodop“,而且对之前的接口几乎完全兼容,因此在框架里也继续沿用了这个控件来进行相关的打印处理,包括常规的打印和运单信息套打等处理。

    1、控件的安装

    这个云控件C-Lodop(http://www.lodop.net/)其实是在本地安装后,驻留服务提供JS的服务的,安装后启动程序后界面如下所示。

    这种通过服务器提供JS服务的方式,比插件方式好很多,测试过Chrome浏览器也可以顺利打印了,原来的LODOP插件方式的打印是不兼容的。

    通过它们本身自带的JS初始化代码,可以了解到该控件目前采用非插件方式进行处理打印操作的了。

     

    //让其它电脑的浏览器通过本机打印(适用例子):
    var oscript = document.createElement("script");
    oscript.src = "/CLodopfuncs.js";
    var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
    head.insertBefore(oscript, head.firstChild);
    //让本机浏览器打印(更优先):
    oscript = document.createElement("script");
    oscript.src = "http://localhost:8000/CLodopfuncs.js?priority=1";
    var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
    head.insertBefore(oscript, head.firstChild);
    //本机浏览器的后补端口8001(这种兼顾做法可能报错不用理它):
    oscript = document.createElement("script");
    oscript.src = "http://localhost:8001/CLodopfuncs.js?priority=2";
    var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
    head.insertBefore(oscript, head.firstChild);

    复制代码

    复制代码

    官方例子提供了LodopFuncs.js文件用来构建打印控件的,其中在LodopFuncs.js文件里面定义了getLodop函数,用来获得打印控件对象的。

    检查是否安装了云打印控件的JS代码如下所示。

     

    <script language="javascript" type="text/javascript">    
        function CheckIsInstall() {     
            try{ 
                 var LODOP=getLodop(); 
                if (LODOP.VERSION) {
                     if (LODOP.CVERSION)
                     alert("当前有C-Lodop云打印可用!\n C-Lodop版本:"+LODOP.CVERSION+"(内含Lodop"+LODOP.VERSION+")"); 
                     else
                     alert("本机已成功安装了Lodop控件!\n 版本号:"+LODOP.VERSION); 
    
                };
             }catch(err){ 
              } 
        }; 
    </script>

     

    2、云打印控件C-Lodop的使用

    这个控件和原来的LODOP的使用保持一致性,不用修改原来的代码就可以直接使用最新的打印方式,非常赞,关于这个控件的使用,我在前面介绍了很多相关的使用过程。

    如在Winform里面利用网页套打证件的案例《使用NVelocity生成内容的几种方式》。

    以及在Web页面的套打处理《Web打印的解决方案之证件套打》,以及《Web打印的解决方案之普通报表打印》,里面对控件的使用操作做了很详细的介绍。

    该控件提供了很详细的各种案例(http://www.lodop.net/demo.html),可以参考学习使用。

    在前面介绍了,我在框架里面的网购运单处理里面,继续使用了这个控件进行套打的处理,例如我们需要套打类似这样的界面内容。

    我们设计好套打页面内容,如下所示。

    设计好的内容,我们可以把它们转换为页面里面的JS代码如下所示。

     

    <script src="/Content/JQueryTools/LODOP/CheckActivX.js"></script>
        <script type="text/javascript">
            var LODOP; //声明为全局变量 
    
            function Preview() {//打印预览
                LODOP = getLodop();
                LODOP.PRINT_INITA(-1, -1, 824, 1129, "运单套打");
    
                CreateLicenseData();
                LODOP.SET_PREVIEW_WINDOW(2, 0, 0, 800, 600, "");
                LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4");
                LODOP.PREVIEW();
            };
            function Setup() {//打印维护
                LODOP = getLodop();
                LODOP.PRINT_INITA(-1, -1, 824, 1129, "运单套打");
    
                CreateLicenseData();
                LODOP.PRINT_SETUP();
            };
            function Design() {//打印设计
                LODOP = getLodop();
                LODOP.PRINT_INITA(-1, -1, 824, 1129, "运单套打");
    
                CreateLicenseData();
                LODOP.PRINT_DESIGN();
            };
    
            function CreateLicenseData() {            
                if (printID != undefined && printID != '') {
                    //使用同步方式,使得联动的控件正常显示
                    $.ajaxSettings.async = false;
                    //首先用户发送一个异步请求去后台实现方法
                    $.getJSON("/BillDetail/FindByID?id=" + printID, function (info) {
                        
                        LODOP.ADD_PRINT_SETUP_BKIMG("<img src='/Content/Template/空白套打模板.png'/>");
                        LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW", true);//预览包含背景
                        LODOP.SET_SHOW_MODE("BKIMG_PRINT", true);//打印内容包含背景
    
                        LODOP.ADD_PRINT_BARCODE(78, 441, 262, 56, "128C", info.FenyunDanhao);
                        LODOP.ADD_PRINT_BARCODE(684, 441, 262, 56, "128C", info.FenyunDanhao);
    
                        LODOP.ADD_PRINT_TEXT(186, 287, 277, 39, info.Shou_Com);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(236, 378, 186, 28, info.Shou_Name);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(276, 283, 284, 67, info.Shou_Dizhi);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(362, 306, 254, 30, info.Shou_Phone);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(404, 319, 51, 30, info.Jianshu);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(400, 476, 95, 31, info.Zhongliang);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(187, 33, 227, 39, info.Fa_Gongsi);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(277, 33, 230, 65, info.Fa_Dizhi);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(364, 37, 227, 25, info.Fa_Phone);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(410, 37, 226, 26, info.Pinming);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(803, 34, 234, 39, info.Fa_Gongsi);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(895, 32, 238, 66, info.Fa_Dizhi);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(979, 33, 234, 25, info.Fa_Phone);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(1024, 35, 228, 25, info.Pinming);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(802, 285, 287, 39, info.Shou_Com);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(849, 373, 198, 28, info.Shou_Name);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(894, 285, 287, 67, info.Shou_Dizhi);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(980, 287, 281, 26, info.Shou_Phone);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(1021, 317, 59, 29, info.Jianshu);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                        LODOP.ADD_PRINT_TEXT(1017, 477, 95, 30, info.Zhongliang);
                        LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
                    });
                }
            }
    
            //打印预览
            var printID;
            function PrintDetail() {
                var row = $("#gridDetail").datagrid("getSelected");
                if (row) {
                    var index = $('#gridDetail').datagrid('getRowIndex', row);
                    printID = row.ID;
                    Preview();
                }
                else {
                    $.messager.alert("提示", "请选择一个记录");
                }
            }
    
            //批量打印
            function BatchPrint() {
                //得到用户选择的数据的ID
                var rows = $("#gridDetail").datagrid("getSelections");
                if (rows.length >= 1) {
                    //然后确认发送异步请求的信息到后台删除数据
                    $.messager.confirm("批量打印确认", "您确认批量打印选定的记录吗?", function (action) {
                        if (action) {
    
                            for (var i = 0; i < rows.length; i++) {
                                LODOP = getLodop();
                                LODOP.PRINT_INIT("");
                                LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4");
    
                                printID = rows[i].ID;
                                CreateLicenseData();
    
                                LODOP.PRINT();
                            }
                        }
                    });
                }
                else {
                    $.messager.alert("提示", "请选择你要批量打印的数据");
                }
            }
    
            //打印维护
            function PrintSetup() {
                var row = $("#gridDetail").datagrid("getSelected");
                if (row) {
                    var index = $('#gridDetail').datagrid('getRowIndex', row);
                    printID = row.ID;
                    Setup();
                }
            }
        </script>

     

    其中这个打印界面中,还用到了二维码的打印处理操作,这样很方便直接使用条码枪直接读取,如下代码:

                        LODOP.ADD_PRINT_BARCODE(78, 441, 262, 56, "128C", info.FenyunDanhao);
                        LODOP.ADD_PRINT_BARCODE(684, 441, 262, 56, "128C", info.FenyunDanhao);

    然后在主页面里面设定打印的操作功能按钮进行处理,下面是我们基于EasyUI的Web框架界面效果。

    打印预览界面如下所示,实际打印的时候,我们可以设定不打印背景图片。

    如果是常规打印,那么他们的界面和我们看到的页面内容非常接近,如下所示。

    参考代码如下所示。

     

    @*添加对LODOP控件的支持*@
        <script type="text/javascript">
            var LODOP; //声明为全局变量 
    
            function Preview() {//正本打印
                CreateLicenseData();
                LODOP.SET_SHOW_MODE("PREVIEW_IN_BROWSE", 1);
                LODOP.PREVIEW();
            };
            function PrintA() {
                CreateLicenseData();
                LODOP.PRINTA();
            };
            function Setup() {//正本打印维护
                CreateLicenseData();
                LODOP.PRINT_SETUP();
            };
            function Design() {//正本打印设计
                CreateLicenseData();
                LODOP.PRINT_DESIGN();
            };
    
            function CreateLicenseData() {
                LODOP = getLodop();
    
                LODOP.PRINT_INIT("政策法规");
                var strBodyStyle = "<link type='text/css' rel='stylesheet' href='/Content/Themes/Default/style.css' /><style><!--table { border:1;border: 1; } th { background-color:#F1F1F3;padding-left:5px;border:1}--></style>";
                var strFormHtml = strBodyStyle + "<body>" + document.getElementById("printContent").innerHTML + "</body>";
                LODOP.ADD_PRINT_HTM(20, 40, 610, 900, strFormHtml);
                LODOP.PREVIEW();
            }
            function SaveAs() {
                var id = $('#ID2').val();
                window.open('/Information/ExportWordById?id=' + id );
            }
        </script>

    转载于:https://my.oschina.net/chendongj/blog/1541130

    展开全文
  • 在很多项目中间都需要对web页面进行打印输出,有的是打印表格内容,有的是打印局部文字,这时候可以选择的方案大体有两种。 1.利用组件把报表的内容生成WORD文档或者是Excel文档,导出以后利用Office自带的打印功能...

          在很多项目中间都需要对web页面进行打印输出,有的是打印表格内容,有的是打印局部文字,这时候可以选择的方案大体有两种。

       1.利用组件把报表的内容生成WORD文档或者是Excel文档,导出以后利用Office自带的打印功能进行打印

       2.在网页上利用javascript或者是其他基于javascript和其他语言的组建

    下面详细介绍这两种方法

      1.生成word或者是Excel文档,当要打印的区域内容为文本的时候适合导出为Word文档来处理,当要打印的内容为表格的时候适合导出为Excel文档,在JSP中可以利用Jxl,jacob,POI等组建进行office文档的处理,个人推荐使用POI,这个组件是由apache基金开发维护的,其在开源领域的地位无可置疑。这个组件的使用方法不再详细介绍,再它的帮助文档上面有详细的使用方法和示例代码。可以满足各种基本的开发需要。

    2.采用javascript或者打印组件的方法就更多了,下面简单介绍几种方案并给出其中一个方案的详细代码

       a.用纯javascript代码:

          这种方法就是简单的调用window.open()方法,这中方法的功效等同于用IE的打印功能,将对整个页面所见的内容进行全部的打印,而且会自动打印出页眉页脚。

       b.修改注册项,和其它针对某一种浏览器的解决方案

         这种方法的原理基本上都是进入客户端系统的注册表,把里面的某些IE选项进行修改,例如屏蔽或者是修改页眉页脚等自定义的打印方方案,这种反感的弊端是非常明显的,首先要在网页上修改注册表项需要再客户端降低浏览器的安全性设置,这将给客户的计算机带来很大的风险,而且这些方法都是在注册表中找到浏览器的位置然后进行操作,这就将处理局限为某一种或者是几种浏览器,而且也将客户端的操作系统局限为Windows

      c.第三方的插件

        采用第三方的插件,例如ScriptX,WebPrint等,这也第三方的原理基本上同 b 方案相同,也有的是采用纯javascript代码进行封装,但是采用这种插件就需要客户端在打印的时候安装插件,同样需要降低客户端的安全设置,如果有防火墙或者是杀毒软件的影响将不能起到作用,而且这种方案的运行速度很成问题,加载插件的处理严重影响运行速度,不过这种方案的打印效果倒是非常理想的

      d.折衷方案

        采用WebBrowser和javascript和CSS结合起来

    •     打印指定区域
    •    在页面上显示 打印   打印预览   页面设置  按钮 ,用来对打印进行设置,这样可以去掉页眉页脚
    •    在javascript中采用CSS控制隐藏不想打印的内容

           下面是详细的代码(注:由于利用javascript里面构造新页面,所以构造代码连在一起,否则javascript解释错 误):

         <html>
        <head>
        <script language="javascript">
          function printme()
         {
             var print = this.document.getElementById("print").innerHTML;
             print = print +"<br/>"
         print = print +'<SCRIPT language=javascript> function printView(){hidden();document.all.WebBrowser.ExecWB(7,1); } function print(){hidden();document.all.WebBrowser.ExecWB(6,6)}function pageSetup(){hidden();document.all.WebBrowser.ExecWB(8,1);}function hidden(){document.all("printView").style.display="none"; document.all("print").style.display="none";  document.all("pageSetup").style.display="none";}<//script>';
            print = print + "<OBJECT   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=21   id=WebBrowser   width=87></OBJECT> <input  id=printView name=Button   onClick=printView()   type=button   value=打印预览> <input  id = print name=Button   onClick=print()   type=button   value=直接打印>   <input  id = pageSetup name=Button   onClick= pageSetup()  type=button   value=页面设置>";
            var newWindow = window.open();
            newWindow.document.open("text/html");  
            newWindow.document.write(print);  
            newWindow.document.close();    
       } 
    </script>

      </head>
      <body>
        <span id='print'>把要打印的内容放这里</span>
     <p>所有内容</p>
     <a href="javascript:printme()" target="_self">打印</a>
       
      </body>
    </html>

         代码解释: 把要打印的内容放在 id为print 的区域内在  printme函数中把 要输出的内容放入一个新的也页面,在新页面里面进行打印的处理,在新页面里面用WebBrowser对象进行打印的处理,用css控制隐藏不想打印的内容。

          

    展开全文
  • 页面调用Adobe Reader自带的控件实现pdf打印

    万次阅读 热门讨论 2017-11-24 14:58:00
     但是,有的场景会考虑到pdf文件的敏感,需要pdf文件不能被下载,只能打印且只能打印一次,这就需要考虑使用控件了。   2、Adobe Reader    Adobe Reader是一款优秀的PDF文档阅读软件。你可以使用Adobe ...

    1、业务场景

     

           一般的业务场景里,只需要将pdf文件下载到本地,然后打开直接打印就可以了。

          但是,有的场景会考虑到pdf文件的敏感性,需要pdf文件不能被下载,只能打印且只能打印一次,这就需要考虑使用控件了。

     

    2、Adobe Reader

     

          Adobe Reader是一款优秀的PDF文档阅读软件。你可以使用Adobe Reader查看、打印和管理PDF文件,还可以使用 Adobe Reader的多媒体工具可以播放PDF中的视频和音乐。

          这里我们会用到Adobe Reader里面自带的页面控件来实现pdf文件的打印功能。

          点击下载Adobe Reader XI 11

     

    3、页面调用Adobe Reader自带的控件实现pdf打印

     

    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>pdf打印</title>
    	</head>
    	<body>
    		<div align="center">
    			<object id="pdfObj" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="950" height="562" border="0">
    				<param name="src" value="print/myfile.pdf" />
    			</object>
    		</div>
    	</body>
    </html>

     

     

          其中<param name="src" value="print/myfile.pdf" />  中的value是pdf文件的相对路径。

          需要注意的一点是,360浏览器打开页面时,必须用兼容模式,不然预期功能无法实现。

     

          下面是博主的案例

           Adobe Reader ActiveX控件 打印pdf文件案例1

     

          当我们移动鼠标时,页面上会浮现出一个工具栏:

     

           预览界面浮动工具栏

     

          这个浮动工具栏有5个按钮,他们的作用从左到右分别是:保存,打印,缩小,放大,显示工具栏。

     

          这里我们点击打印按钮,就可以弹出操作系统自带的打印配置页面了:

     

          打印配置页

          配置好相关属性后,点击打印即可成功打印pdf文件。

     

    4、关闭控件的下载功能,且保证用户只能打印1次pdf文件

     

          当有预览界面的时候,用户总能进行下载,所以我们可以去掉预览界面:将object控件中的width和height两个属性均设置为0

          去掉预览界面后,我们可以用js代码调用控件提供的相关接口进行打印,代码如下:

     

    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>pdf打印</title>
    	</head>
    	<body>
    		<div align="center">
    			<button id="prtBtn" onclick="printPage()">打印(P)</button>
    			<object id="pdfObj" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="0" height="0" border="0">
    				<param name="src" value="print/myfile.pdf" />
    			</object>
    		</div>
    		<script type="text/javascript">
    		function printPage(){
    			try {
    				 pdfObj.PrintAll();
    				 document.getElementById("prtBtn").setAttribute("disabled", true);
    			} catch (e) {
    				alert("未安装adobe reader插件,请联系管理员安装!");
    			}
    		}
    		</script>
    	</body>
    </html>

     

     

          该页面只会显示一个打印按钮:

     

          Adobe Reader ActiveX控件 打印pdf文件案例2

     

          如此,点击打印之后,打印按钮变灰,且跳过打印配置页,直接打印pdf文件(这个时候打印会根据系统配置的默认打印机来打印)。
     

     

    附:Adobe Reader ActiveX控件对外发布的功能说明

     

          (参考:控件接口实现源码-英文版

          Adobe Reader ActiveX控件提供的Methods

     

          1、GetAcroPdfVersion:获取一个显示Acrobat ActiveX控件版本的值

          2、GoBackwardStack:如果前面的视图存在,则转到视图堆栈上的先前视图。前面的视图可能在不同的文档中

          3、GoForwardStack:如果下一个视图存在,则转到视图堆栈的下一个视图。下一个视图可能在另一个文档中

          4、GotoFirstPage:转到文档的第一页,保持页面内的当前位置和缩放级别

          5、GotoLastPage:进入文档的最后一页,保持页面内的当前位置和缩放级别

          6、GotoNextPage:如果存在,则进入文档的下一页。保持页面内的当前位置和缩放级别

          7、GotoPreviousPage:如果存在,则进入文档的前一页。保持页面内的当前位置和缩放级别

          8、LoadFile:打开并在浏览器中显示指定的文档

          9、PostMessage:(这个函数没有被Adobe记录下来)

          10、Print:根据用户对话框中选择的选项打印文档。这些选项包括嵌入式打印(在给定页面上的一个边界矩形内打印),以及对指定的打印机进行交互式打印。

          11、PrintAll:在不显示用户对话框的情况下打印整个文档。使用默认的打印机、页面设置和作业设置。

          12、PrintAllFit:在不显示用户对话框的情况下打印整个文档,如果需要,页面会缩小,以适应打印机中页面的可想象区域。使用默认的打印机、页面设置和作业设置。
          *注:其有1个参数,在打印文档时确定是否要缩放可映像区域。值为0表示不应该使用扩展,而正值值表明,如果需要,页面会缩小,以适应打印机中页面的可想象区域。

          13、PrintPages:打印指定的页面,而不显示用户对话框。使用默认的打印机、页面设置和作业设置。
          *注:其有2个参数,指定打印第几页到第几页

          14、PrintPagesFit:打印指定的页面,而不显示用户对话框。使用默认的打印机、页面设置和作业设置
          *注:其中第3个参数表示在打印文档时确定是否要缩放可映像区域。值为0表示不应该使用扩展,而正值值表明,如果需要,页面会缩小,以适应打印机中页面的可想象区域。

          15、PrintWithDialog:根据用户对话框中选择的选项打印文档。这些选项包括嵌入式打印(在给定页面上的一个边界矩形内打印),以及对指定的打印机进行交互式打印。

          16、SetCurrentHighlight:突出显示当前页面中指定的边界矩形中的文本选择。

          17、SetCurrentPage:转到文档中指定的页面。保持页面内的当前位置和缩放级别

          18、SetLayoutMode:根据指定的值设置页面视图的布局模式

          19、SetNamedDest:将页面视图更改为指定字符串中的指定目标

          20、SetPageMode:根据指定的值设置页面模式

          21、ShowScrollbars:确定滚动条是否会出现在文档视图中

          22、ShowToolbar:确定工具栏是否会出现在查看器中

          23、SetView:根据指定的字符串设置页面的视图

          24、SetViewRect:根据指定的坐标设置视图矩形(X偏移,Y偏移,宽度,高度)

          25、SetViewScroll:根据指定的字符串设置页面的视图。根据视图模式,页面要么滚动到右边,要么按偏移量指定的数量进行滚动。

          26、Zoom:根据指定的值设置放大率

          27、SetZoomScroll:根据指定的值设置放大率,并根据指定的数量水平和垂直滚动页面视图。

                                                                                                                                                   

     

    首次发博文,希望各位朋友积极评论,不吝赐教!

    展开全文
  • js 选择打印区域

    千次阅读 2012-02-15 17:19:53
    有时间我们需要选择性打印,在网上找到一些方法,扩展了一下,经IE和firfox测试都可用。 function PrintOut() { bdhtml = window.document.body.innerHTML; sprnstr = ""; eprnstr = ""; prnhtml =
  • Java JSP实现页面打印的功能

    万次阅读 2015-03-07 17:34:30
    根据公司需求,从客户动态创建表开始,然后从Excel中将数据导入到动态的表中,最后到用户前台调用查询,返回结果集,打印该结果集,所以最后使用打印功能,很简单只是调用window.print()的JS 即可。 下面直接上代码...
  • ASP.NET页面打印技术总结

    千次阅读 2008-01-24 15:24:00
    关于ASP.NET页面打印技术总结 B/S结构导致了Web应用程序中打印的特殊。 • 程序运行在浏览器中,打印机在本地,而文件确可能在服务器上,导致了打印控制不是很灵活。 • 格式如何控制和定制等,是我们开发中可能...
  • asp.net 页面打印问题

    千次阅读 2010-05-24 10:11:00
    WebBrowser控件 打印2 WebBrowser是IE内置的浏览器控件,无需用户下载. 一、WebBrowser控件 二、WebBrowder控件的方法 //打印 WebBrowser1.ExecWB(6,1); //打印设置 WebBrowser1.ExecWB(8,1); //打印预览 WebBrowser...
  • 打印

    千次阅读 2020-10-23 09:15:00
    在这章中,我们将会着手用于打印文件和控制打印选项的命令行工具。通常不同发行版的打印配置各有不同且都会在其安装时自动完成,因此这里我们不讨论打印的配置过程。本章的练习需要一台正确配置的打印机来完成。 ...
  • Web系统页面打印技术实现与分析

    千次阅读 2011-08-01 23:35:02
    1 Web页面打印概述 应用WEB化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于WEB的应用,客户端的规则很简单,容易学习,容易维护,容易发布。在WEB系统中,打印的确是个烦人的问题。 要么自己...
  • 1、控制"纵打"、 横打”和“页面的边距 (1) (2) ------------------------------------------------ 关于这个组件还有其他的用法,列举如下: WebBrowser.ExecWB(1,1) 打开 Web.ExecWB(2,1...
  • 现在用手机可以非常方便地将手机的任意页面(禁止截图的App页面除外)用截长屏的方式一次将常常的页面内容截图下来,这些长页面通常是通常是聊天记录或各种文章等。 截图下来后,在手机或电脑中查看倒是不会有...
  • 作者:周方勇 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如... 对于打印,我们总是在用户打印之前可以看看打印的效果,这时,一般的软件都提供了打印预览;如果需要调整打印的效果如纸张的
  • 原文地址:http://android.xsoftlab.net/training/printing/custom-docs.html对于一些应用,比如绘图类APP,版面设计类APP以及其它APP,这些APP都关注图形的输出,有一个漂亮的打印页面是它们的关键特性。...
  • 1、控制"纵打"、 横打”和“页面的边距 (1) codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360">> function SetPrintSettings() { // -- advanced features factory.printing....
  • 方法中至少包含三个声明即ShowPageSetupDialog()、ShowPrintSetupDialog()、ShowPrintPreviewDialog(),也就是打开打印页面设置、打印机设置、打印预览对话框。    Vs2003为我们提供了一个PrintDocument,名字空间...
  • Hibernate 有选择性的更新--控制insert和update语句  项目请情景:Hibernate 更新部分字段。  项目中Hibernate更新记录时,不想更新所有字段怎么办?如果更新页面将不需要显示的字段不列出来。则更新后,数据库中...
  • 批量打印之jquery局部打印

    千次阅读 2017-10-12 10:49:20
    上个月弄了个批量打印的功能,觉得以后可能用得着,就写个博客记一下,免得忘记了。说这个之前,先来说一下我用过的两个打印插件,一个是Jquery打印插件(这次开始用的),一个是smsx.cab控件的打印插件。这里先说...
  • PS 页面描述语言PostScript

    千次阅读 2014-10-15 13:53:29
    PostScript是专门为打印图形和文字而设计的一个编程语言,它与打印的介质无关,不管您是在纸上、胶片上打印,还是在屏幕显示都适合。它是一种页面描述语言,与HTML语言类似。  PostScript是由Adobe公司在1985年...
  • 设置打印区域 首先框选区域,其次页面布局,设置打印区域。 设置打印区域可以再次打印预览再来设置。 前文链接: 自动化办公之excel教程(1):工作薄,工作表,单元格基本操作 自动化办公之excel教程(2):各种...
  • winform打印的方案比较多,实现也比较容易,而且效果...网上也有非常的web打印方案,但各式各样的问题非常多,比如js兼容,稳定等一直缠绕着众多的程序员,或者就是web 打印需要浏览器安装 ActiveX 组件,Acti
  • C#之二十三 打印和水晶报表

    千次阅读 2016-05-05 21:20:06
    C#程序设计及宿舍管理系统实战 ... ...打印是常用的的功能,打印的原理从本质上和Windows窗体画图的原理是一样的,你在窗体里面画了一个圆,那么同样的代码,打印机也会在纸张的同一个位置打印...
  • 脚本打印

    千次阅读 2007-10-12 00:19:00
    11.1 Web打印Web打印是一种常用的打印方式,其使用方法简单、方便、快捷,在浏览网页的同时就可以实现打印的功能。...使用该方法只须将要打印页面设计好,再通过JavaScript的window对象的print( )方法调用I
  • 打印日志是一门艺术,但长期被开发同学所忽视。日志就像车辆保险,没人愿意为保险付钱,但是一旦出了问题都又想有保险可用。我们打印日志的时候都很随意,可是用的时候会吐槽各种 SB 包括自己!写好每一条日志吧,与...
  • LINUX打印系统

    千次阅读 2017-06-30 13:41:49
    首先需要了解的是,打印在Unix世界的演化中总是围绕着PostScript页面描述语言展开的。该语言是由Adobe公司开发的,它是一个成熟的、用于描述一个文档每个页面内容的程序语言。它是一种与设备无关的打印机语言,即在...
  • 双面打印技巧

    千次阅读 2014-04-09 17:59:39
    1、首先在打印对话框里输入的页面范围
  • PostScript 打印描述语言 介绍

    千次阅读 2014-04-14 21:33:46
    PS格式文件是使用的PS页面描述语言编写的文件。该语言是一种基于堆栈的解释型语言,已由支持Macintosh机器输出激光打印的Leve 1 发展到现在支持多种平台的Leve13,其特点是将文字也作为图形处理。对PS编程感兴趣的...
  • 学习打印机,了解打印命令

    万次阅读 热门讨论 2007-12-14 09:51:00
    打印指令,又称打印控制命令。...因为增强我们对打印机控制语言的了解,就可以更好地选择和使用打印机。 目前主流的打印机控制语言只要有三种: Epson公司的Esc命令集 HP公司的PCL命令集 Adobe公司的PostSc
  • 浏览器打印--兼容IE、局部打印

    千次阅读 2018-04-18 16:22:59
    * wb.ExecWB(8, 1) //打印页面设置 * wb.ExecWB(10, 1) //查看页面属性 * wb.ExecWB(15, 1) //好像是撤销,有待确认 * wb.ExecWB(17, 1) //全选 * wb.ExecWB(22, 1) //刷新 * wb.ExecWB(45, 1) //关闭窗体无...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 94,585
精华内容 37,834
关键字:

怎么选择性打印页面