Web打印控件smsx.cab使用说明

简介: 原文 Web打印控件smsx.cab使用说明  在项目开发中,经常会用到页面打印的功能,在ASP.NET环境下推荐一款web打印控件smsx.cab。     使用方法:一般会先定义一个用于打印的母版页(Print.Master),在母版页上做好布局,包括页面布局、js 的引用、smsx.cab控件加载、打印和预览按钮的放置。

原文 Web打印控件smsx.cab使用说明

 在项目开发中,经常会用到页面打印的功能,在ASP.NET环境下推荐一款web打印控件smsx.cab。

    使用方法:一般会先定义一个用于打印的母版页(Print.Master),在母版页上做好布局,包括页面布局、js 的引用、smsx.cab控件加载、打印和预览按钮的放置。

     下载链接:http://download.csdn.net/detail/nxgliming/6668999

     母版页(Print.Master):

     

复制代码
 1 <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Print.master.cs" Inherits="PdSecrity.Pages.Print.Print" %>
 2 
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 <html xmlns="http://www.w3.org/1999/xhtml">
 5 <head runat="server">
 6     <title>打印</title>
 7     <asp:ContentPlaceHolder ID="head" runat="server">
 8     </asp:ContentPlaceHolder>
 9             <style media="print">
10         .Noprint
11         {
12             display: none;
13         }
14         .w3cbbs
15         {
16             page-break-after: always;
17         }
18     </style>
19 </head>
20 <script src="<%= Page.ResolveClientUrl("~/PdSecrity/Scripts/jquery-1.10.2.min.js")%>"
21     type="text/javascript"></script>
22 <script src="<%= Page.ResolveClientUrl("~/PdSecrity/Scripts/Print.js")%>" type="text/javascript"></script>
23 <body>
24     <form id="form1" runat="server">
25     <!--下面的这个objec标签就是加载t加载smsx.cab控件用-->
26     <object id="factory" style="display: none" codebase="<%= Page.ResolveClientUrl("~/PdSecrity/Scripts/smsx.cab")%>#VVersion=6,6,440,26"
27         classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext>
28     </object>
29     <script>
30         $(document).ready(function () {
31             //加载打印设置
32             SetPrintSettings();
33         });
34     </script>
35     <table align="center">
36         <tr  class="Noprint">
37             <td>
38                 <input id="Button1" type="button" value="打印" class="btnbg" onclick="Print();" />
39                 <input id="Button2" type="button" value="预览" class="btnbg" onclick="Preview();" />
40             </td>
41         </tr>
42         <tr>
43             <td>
44                 <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
45                 </asp:ContentPlaceHolder>
46             </td>
47         </tr>
48     </table>
49     </form>
50 </body>
51 </html>
复制代码

 

     Print.js,主页用于打印的一些设置

复制代码
 1 //预览
 2 function Preview() {
 3     document.all.factory.printing.Preview();
 4 }
 5 
 6 function Print() {
 7     document.all.factory.printing.Print(false); //无确认打印,true时打印前需进行确认
 8 }
 9 
10 function PrintSetup() {
11     document.all.factory.printing.PageSetup();
12 }
13 
14 function SetPrintSettings() {
15     // -------------------基本功能,可免费使用-----------------------
16     document.all.factory.printing.header = ""; //页眉
17     document.all.factory.printing.footer = ""; //页脚
18     ////document.all.factory.printing.SetMarginMeasure(1); //页边距单位,1为毫米,2为英寸//边距设置,需要注意大部分打印机都不能进行零边距打印,即有一个边距的最小值,一般都是6毫米以上
19     //设置边距的时候时候如果设置为零,就会自动调整为它的最小边距
20     document.all.factory.printing.leftMargin = 7; //左边距
21     document.all.factory.printing.topMargin = 7; //上边距
22     document.all.factory.printing.rightMargin = 7; //右边距
23     document.all.factory.printing.bottomMargin = 7; //下边距
24     document.all.factory.printing.portrait = true; //是否纵向打印,横向打印为false
25     //--------------------高级功能---------------------------------------------
26     //document.all.factory.printing.printer = "EPSON LQ-1600KIII"; //指定使用的打印机
27     //document.all.factory.printing.printer = "\\\\cosa-data\\HPLaserJ";//如为网络打印机,则需要进行字符转义
28     ////document.all.factory.printing.paperSize = "A4"; //指定使用的纸张
29     document.all.factory.printing.paperSource = "Manual feed"; //进纸方式,这里是手动进纸
30     ////document.all.factory.printing.copies = 1; //打印份数
31     ////document.all.factory.printing.printBackground = false; //是否打印背景图片
32     ////document.all.factory.printing.SetPageRange(false, 1, 3); //打印1至3页
33     //---------------------常用函数--------------------------------
34     //document.all.factory.printing.Print(false); //无确认打印,true时打印前需进行确认
35     //document.all.factory.printing.PrintSetup(); //打印设置
36     //document.all.factory.printing.Preview(); //打印预览
37     //document.all.factory.printing.WaitForSpoolingComplete(); //等待上一个打印任务完全送入打印池,在连续无确认打印时非常有用
38     //document.all.factory.printing.EnumPrinters(index); //枚举已安装的所有打印机,主要用于生成打印机选择功能
39 }  
复制代码

     最后,让所需要打印的页面都引用这个母版页即可。

 

目录
相关文章
|
Web App开发 前端开发
chrome浏览器web打印需要了解的几个小技巧
当我们使用web打印相关的解决方案的时候,还有不少小坑值得注意下,同时需要了解几个小技巧提升在web打印上的友好度,以下整理一些常见的小技巧
chrome浏览器web打印需要了解的几个小技巧
|
2月前
|
人工智能 前端开发 Java
软件测试/人工智能|熟练使用web控件定位技巧,提升测试工作效率!
软件测试/人工智能|熟练使用web控件定位技巧,提升测试工作效率!
196 1
|
2月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
32 0
|
9月前
|
Web App开发 开发框架 JavaScript
|
9月前
|
搜索推荐 JavaScript 数据可视化
数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web GIS、3D视图、个性化地图、标注、涟漪动画、自定义弹窗、3D控件)
数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web GIS、3D视图、个性化地图、标注、涟漪动画、自定义弹窗、3D控件)
380 0
|
前端开发 JavaScript
|
Web App开发 XML 前端开发
技术分享 | Web 控件定位与常见操作
技术分享 | Web 控件定位与常见操作
|
Java Python
技术分享 | web 控件的交互进阶
技术分享 | web 控件的交互进阶
|
Web App开发
Web蓝牙打印Demo以及Webbluetooth的用法
Web蓝牙打印Demo以及Webbluetooth的用法
980 0
|
Web App开发 开发工具 Android开发
Flutter Web:运行后console中不停的打印debug日志
我们用android studio直接运行flutter web项目,会启动chrome来执行,这时候如果我打开开发者工具(右键-》检查),就会发现非常卡 (前提是用Html Render来渲染,用CanvasKit好像就没问题) 在console上边的操作栏上可以看到一个数字在不停的增长,这是因为console默认不显示debug日志,所以这些日志回以计数的形式显示。我们在操作栏的level中将debug选中,就会看到debug日志了。
644 0