600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > asp.net 打印控件使用方法

asp.net 打印控件使用方法

时间:2019-05-17 00:42:52

相关推荐

asp.net 打印控件使用方法

后端开发|C#.Net教程

打印控件

后端开发-C#.Net教程

打印的效果及控制性虽然不是很好,但是也能勉强使用,应付一般的打印还是 可以的了。

代码如下所示:

代码

课程资源网站源码,vscode向下删除行,ubuntu系统img,tomcat架构教学视频,爬虫冒泡,php 字符 码,怎么找北京seo公司,个人微信网站源码,html静态网页模板简洁lzw

//调用PrintControl.ExecWB(?,?)实现直接打印和打印预览功能。(直接用系统提供的print()方法打印无法隐藏某些区域) //preview:是否显示预览。null/false:不显示,true:显示 function printPage(preview) { try { var content=window.document.body.innerHTML; var oricontent=content; while(content.indexOf("{$printhide}")>=0) content=content.replace("{$printhide}","style=display:none\"); if(content.indexOf("ID=\"PrintControl\"")<0) content=content+""; window.document.body.innerHTML=content; //PrintControl.ExecWB(7,1)打印预览,(1,1)打开,(4,1)另存为,(17,1)全选,(10,1)属性,(6,1)打印,(6,6)直接打印,(8,1)页面设置 if(preview==null||preview==false) PrintControl.ExecWB(6,1); else PrintControl.ExecWB(7,1); //OLECMDID_PRINT=7; OLECMDEXECOPT_DONTPROMPTUSER=6/OLECMDEXECOPT_PROMPTUSER=1 window.document.body.innerHTML=oricontent; } catch(ex){ alert("执行Javascript脚本出错。"); } } function printConten(preview, html) { try { var content=html; var oricontent=window.document.body.innerHTML; while(content.indexOf("{$printhide}")>=0) content=content.replace("{$printhide}","style=display:none\"); if(content.indexOf("ID=\"PrintControl\"")<0) content=content+""; window.document.body.innerHTML=content; //PrintControl.ExecWB(7,1)打印预览,(1,1)打开,(4,1)另存为,(17,1)全选,(10,1)属性,(6,1)打印,(6,6)直接打印,(8,1)页面设置 if(preview==null||preview==false) PrintControl.ExecWB(6,1); else PrintControl.ExecWB(7,1); //OLECMDID_PRINT=7; OLECMDEXECOPT_DONTPROMPTUSER=6/OLECMDEXECOPT_PROMPTUSER=1 window.document.body.innerHTML=oricontent; } catch(ex){ alert("执行Javascript脚本出错。"); } }

上面两个函数放在一个Js文件中,在页面内容中通过应用该脚本文件并调用进一步封装的函数即可打印指定部分的内容:

安卓生日app源码,vscode关闭拓展通知,ubuntu硬盘锁,tomcat 限制文件上传,sqlite3 基础教程,当当网图书有没有反爬虫,php 查看编码,什么是seo资源推广,微信电影网站理论,h5游戏模板源码lzw

function Print(preview) { var text = document.getElementById("content").innerHTML; printConten(preview, text); }

打印的效果大致下图例,如果打印的页面在框架页面中,那么需要选定“仅打印选定框架”的选项。

生鲜配送源码,vscode程序错误,budge ubuntu,跟踪tomcat日志,清空sqlite数据表,安全插件板,前端的框架作用是什么,把爬虫放在嘴里的动物,exif php扩展,合肥seo推广计划,直播网站开源代码,在线网页表单设计,单页模板带后台lzw

采用此种方法,不需要安装任何控件,具有很好的兼容优势,不过出来的报表内容,好像控制起来会比较麻烦一些,特别对于一些报表方面的打印,需要输出复杂的内容是,也有一定的缺陷,但总体来说,也是一个较好的选择。

后来在需要做一些证件套打方面的工作,这个控件就做不到了,因此需要一种方法或者控件,能够较好处理套打方面的事情。

无意间,发现一个比较好的打印控件,支持各种格式的打印,还有我关心的证件套打功能,功能强大,使用也很简单的,非常值得推荐。

应用这个控件,普通报表的打印效果如下所示:

上面两个报表的打印其实都差不多,都是打印部分的HTML内容,不过后者看起来要好一点,而且提供很完善的报表功能设置。

代码大致如下所示。

代码

function Print(preview) { var text = document.getElementById("content").innerHTML; printConten(preview, text); }var LODOP = document.getElementById("LODOP"); //这行语句是为了符合DTD规范 CheckLodop(); function Preview() {//打印预览 CreateLicenseData(); LODOP.SET_SHOW_MODE("PREVIEW_IN_BROWSE", 1); LODOP.PREVIEW(); }; function Setup() {//打印维护 给用户调整位置 CreateLicenseData(); LODOP.PRINT_SETUP(); }; function Design() {//打印设计 开发人员设置内容和位置 CreateLicenseData(); LODOP.PRINT_DESIGN(); }; function CreateLicenseData() { LODOP.PRINT_INIT("查询报表"); LODOP.ADD_PRINT_HTM(20, 40, 610, 900, document.all("content").innerHTML); LODOP.PREVIEW(); }

很多时候,我们也没的内容,都是通过CSS来控制美观的,所以有时候,我们打印部分HTML,没有这些样式的话,那么出来的Table格式和字体,可能都会发生变化,不太好看。那么就需要进行HTML的样式设置。

如果给打印内容设置了样式,那么出来的界面效果就好很多了。

设置样式的代码如下所示。

代码

function Preview() {//打印预览 CreateLicenseData(); LODOP.SET_SHOW_MODE("PREVIEW_IN_BROWSE", 1); LODOP.PREVIEW(); }; function CreateLicenseData() { LODOP.PRINT_INIT("申请处理单"); var strBodyStyle = ""; var strFormHtml = strBodyStyle + "" + document.getElementById("content").innerHTML + ""; LODOP.ADD_PRINT_HTM(20, 40, 610, 900, strFormHtml); LODOP.PREVIEW(); }

更多 打印控件使用方法相关文章请关注PHP中文网!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。