如何使用ASP.NET打印控制
虽然打印效果和可控性不是很好,但勉强能用,应付一般打印也可以。代码如下:代码复制代码如下: //调用PrintControl。ExecWB(?)实现直接打印和打印预览功能。(直接用系统提供的print()方法打印无法隐藏部分区域)//预览:是否显示预览。空/假:不显示,true:显示函数打印页(预览){ try { var content=window . document . body . inner html;var oricontent=contentwhile(content . indexof(' { $ print hide } ')=0)content=content . replace(' { $ print hide } ',style=' display : none ' ');if(content . indexof(' ID=\ ' print control \ ')0)content=content ' OBJECT ID=\ ' print control ' WIDTH=0 HEIGHT=0 CLASSID=\ ' clsid :8856 f 961-340 a-11d 0-A96B-00c 04 FD 705 a 2 \ '/OBJECT ';window . document . body . innerhtml=content;//PrintControl。ExecWB(7,1)打印预览,(1,1)打开,(4,1)另存为,(17,1)全选,(10,1)属性,(6,1)打印,(6,6)直接打印,(8,1)页面。否则打印控制。ExecWB(7,1);//OLECMDID _ PRINT=7;OLECMDEXECOPT _ dontpromputser=6/OLECMDEXECOPT _ promputser=1 window . document . body . innerhtml=oricontent;} catch(ex){ alert('执行Javascript脚本时出错,'。);} }函数printConten(预览,html){ try { var content=html;var oricontent=window . document . body . innerhtml;while(content . indexof(' { $ print hide } ')=0)content=content . replace(' { $ print hide } ',style=' display : none ' ');if(content . indexof(' ID=\ ' print control \ ')0)content=content ' OBJECT ID=\ ' print control ' WIDTH=0 HEIGHT=0 CLASSID=\ ' clsid :8856 f 961-340 a-11d 0-A96B-00c 04 FD 705 a 2 \ '/OBJECT ';window . document . body . innerhtml=content;//PrintControl。ExecWB(7,1)打印预览,(1,1)打开,(4,1)另存为,(17,1)全选,(10,1)属性,(6,1)打印,(6,6)直接打印,(8,1)页面。否则打印控制。ExecWB(7,1);//OLECMDID _ PRINT=7;OLECMDEXECOPT _ dontpromputser=6/OLECMDEXECOPT _ promputser=1 window . document . body . innerhtml=oricontent;} catch(ex){ alert('执行Javascript脚本时出错,'。);}}以上两个函数放在一个Js文件中,应用脚本文件,调用页面内容中进一步封装的函数,即可打印指定部分的内容:复制代码如下:脚本语言=' JavaScript '函数print(preview){ vartext=document . getelementbyid(' content ')。innerhtmlprintConten(预览,文本);}打印效果大致如下图所示。如果打印的页面在框架页面中,则需要选择“仅打印所选框架”选项。
使用这种方法,不需要安装任何控件,具有很好的兼容性优势。不过看起来报告的内容控制起来会比较麻烦。尤其是对于一些报表的打印,需要输出复杂的内容,这也有一定的缺陷,但总的来说,也是比较好的选择。后来我们需要在证书注册上做一些工作的时候,这个控件做不到,所以我们需要一个能够更好的处理证书注册的方法或者控件。无意中发现了一个更好的打印控件,支持多种格式的打印,关心证书打印的功能。功能强大,使用方便,非常值得推荐。控件相关地址:下载控件//www . JB 51 . net/codes/23956 . html control博客简介:http://blog.sina.com.cn/s/articlelist_1340389911_0_1.html应用此控件,普通报表打印效果如下:。
上面两个报表的打印其实都差不多,都是打印部分的超文本标记语言内容,不过后者看起来要好一点,而且提供很完善的报表功能设置。代码大致如下所示。代码复制代码代码如下:脚本语言='javascript '函数打印(预览){ var text=document。getelementbyid(' content ').innerHTMLprintConten(预览,文本);}/脚本脚本语言=' JavaScript ' src=' http :http://www。cn博客。com/Scripts/checkactix。js '/脚本对象id=' LODOP ' id=' clsid :2105 c 259-1E0C-4534-8141 a 753534 CB 4 ca '宽度=0高度=0/对象脚本语言=' JavaScript ' var LODOP=document。getelementbyid(' LODOP ');//这行语句是为了符合文档类型定义(文档类型定义的缩写)规范CheckLodop();/script脚本语言='javascript '类型='text/javascript '函数预览(){//打印预览CreateLicenseData();LODOP .SET _ SHOW _ MODE(' PREVIEW _ IN _ BROWSE ',1);LODOP .PREVIEW();};功能设置(){//打印维护给用户调整位置CreateLicenseData();LODOP .PRINT _ SEtuP();};函数设计(){//打印设计开发人员设置内容和位置CreateLicenseData();LODOP .PRINT _ DESIGN();};函数CreateLicenseData() { LODOP .PRINT_INIT('查询报表');LODOP .HTM(2040610900英镑,全部文档('内容')。innerHTML);LODOP .PREVIEW();}/脚本很多时候,我们也没的内容,都是通过半铸钢钢性铸铁(铸造半钢)来控制美观的,所以有时候,我们打印部分HTML,没有这些样式的话,那么出来的桌子格式和字体,可能都会发生变化,不太好看。那么就需要进行超文本标记语言的样式设置
如果给打印内容设置了样式,那么出来的界面效果就好很多了
设置样式的代码如下所示。代码复制代码代码如下:脚本语言='javascript '类型='text/javascript '函数预览(){//打印预览CreateLicenseData();LODOP .SET _ SHOW _ MODE(' PREVIEW _ IN _ BROWSE ',1);LODOP .PREVIEW();};函数CreateLicenseData() { LODOP .PRINT_INIT('申请处理单');var strBodyStyle=' link type=' text/CSS ' rel='样式表http://。cn博客。com/主题/默认/风格。CSS '/样式!-表{ border:1背景-颜色: # CBCBCC } TD {背景色: # FFFFFE边界: 1;} th {底色: # F1F1F1F 3;左衬垫:5 px边框:1 }-/style ';var STrformHTMl=STrbodystyle ' body '文档。getelementbyid(' content ').innerHTML '/body ';LODOP .ADD_PRINT_HTM(20,40,610,900,strFormHtml);LODOP .PREVIEW();}/脚本
版权声明:如何使用ASP.NET打印控制是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。