热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jsp调用IE打印控件实现打印功能,并且实现分页功能

话不多说,先看代码,一起学习与进步才是最大的财富。其实实现的技术难点不高,主要是画打印的表格花了我很多时间,如果用得上这个打

话不多说,先看代码,一起学习与进步才是最大的财富。其实实现的技术难点不高,主要是画打印的表格花了我很多时间,如果用得上这个打印的表格模板大家也可以借鉴借鉴,或者有更好的可以分享给我。
1、打印的jsp:

<script type&#61;"text/Javascript">$(document).ready(function(){var items &#61; $("#items").val();var tdHeight &#61; $("#td").height();var totalHeight &#61; $("#trHeight").height();if(items>1){var endHeight &#61; totalHeight-(tdHeight*(items-1));$("#trHeight").css(&#39;height&#39;,endHeight);}setTimeout(&#39;execWB()&#39;,400);});function execWB(){//打印设置和打印操作document.all.WebBrowser.ExecWB(8,1);document.all.WebBrowser.ExecWB(6,1);}
script><style type&#61;"text/css">
.printcss_two{font-size: 20px;font-family: &#39;宋体&#39;;font-weight: bold;
}

.printTable{border: 1px solid #000;width:805px;height:350px;
}

.printTable1{border: 1px solid #000;;cellpadding:0;cellspacing:0;width:805px;
}

.printTable tr td{border: 1px solid #000;height:33px;font-size: 13px;font-family: &#39;宋体&#39;;
}

.printTable1 tr td{border: 1px solid #000;font-size: 13px;font-family: &#39;宋体&#39;;}
.tdcss1{font-size: 14px;font-family: &#39;宋体&#39;;font-weight: bold;height:35px;
}

.tdcss2{font-size: 13px;font-family: &#39;宋体&#39;;height:32px;}
.printcss_one{font-size: 18px;font-family: &#39;宋体&#39;;font-weight: bold;
}

style>
<style media&#61;print>.Noprint{display:none;}.PageNext{page-break-after:always;
}

style>
head>
<body class&#61;"PageNext">
<input type&#61;"hidden" id&#61;"items" value&#61;"${items}"/>
<object id&#61;WebBrowser classid&#61;CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height&#61;0 width&#61;0 VIEWASTEXT>object><div class&#61;"myPrintArea"align&#61;"center"><div class&#61;"printcss_one">XXXXXXXX表/br><font>打印实现font>div><table class&#61;"printTable"><tr><td align&#61;"left" width&#61;"155px" id&#61;"td">编号td><td align&#61;"left" width&#61;"155px">日期td><td align&#61;"left" width&#61;"212px">主管(${user.customsCode})td><td align&#61;"left" width&#61;"273px">单位(${user.tradeCo})td>tr><tr><td align&#61;"left" width&#61;"155px">${user.cargoNo}td><td align&#61;"left" width&#61;"155px"><fmt:formatDate value&#61;"${user.sendDate}" pattern&#61;"yyyy-MM-dd"/>td><td align&#61;"left" width&#61;"212px">${user.customsName}td><td align&#61;"left" width&#61;"273px">${user.tradeName}td>tr><tr><td align&#61;"left" width&#61;"155px">类型td><td align&#61;"left" width&#61;"155px">车号td><td align&#61;"left" width&#61;"212px">卡号td><td align&#61;"left" width&#61;"273px">关号td>tr><tr><td align&#61;"left" width&#61;"155px">${user.copeName}td><td align&#61;"left" width&#61;"155px">${user.ptsNo}td><td align&#61;"left" width&#61;"212px">${user.iarNo}td><td align&#61;"left" width&#61;"273px">${user.slNo}td>tr><tr><td align&#61;"left" width&#61;"155px">姓名td><td align&#61;"left" width&#61;"155px">帐号td><td align&#61;"left" width&#61;"212px">起地td><td align&#61;"left" width&#61;"273px">抵地td>tr><tr><td align&#61;"left" width&#61;"155px">${user.tame}td><td align&#61;"left" width&#61;"155px">${user.flyageNo}td><td align&#61;"left" width&#61;"212px">${user.inCode}td><td align&#61;"left" width&#61;"273px">${user.ivlCode}td>tr><tr><td align&#61;"left" width&#61;"155px">号1td><td align&#61;"left" width&#61;"155px">号2td><td align&#61;"left" width&#61;"212px">车重&#xff08;KG&#xff09;td><td align&#61;"left" width&#61;"273px">拖重&#xff08;KG&#xff09;td>tr><tr><td align&#61;"left" width&#61;"155px">${user.container1}td><td align&#61;"left" width&#61;"155px">${user.container2}td><td align&#61;"left" width&#61;"212px">${user.carWeight}td><td align&#61;"left" width&#61;"273px">${user.terWeight}td>tr> <tr><td align&#61;"left" width&#61;"155px">重量&#xff08;KG&#xff09;td><td align&#61;"left" width&#61;"155px">${user.container}td><td align&#61;"left" width&#61;"212px">td><td align&#61;"left" width&#61;"273px">td>tr><table class&#61;"printTable1"><tr><td align&#61;"left" style&#61;"border-right:1px solid white" class&#61;"tdcss1">序号td><td align&#61;"left" style&#61;"border-left:1px solid white;border-right:1px solid white" class&#61;"tdcss1">证号 td><td align&#61;"center" style&#61;"border-left:1px solid white;border-right:1px solid white" class&#61;"tdcss1">td><td align&#61;"center" style&#61;"border-left:1px solid white;" class&#61;"tdcss1">td>tr><c:forEach items&#61;"${enoList}" var&#61;"entryNos" varStatus&#61;"entryNo"><tr><td align&#61;"left" style&#61;"border-right:1px solid white" class&#61;"tdcss2">${entryNo.count}td><td align&#61;"left" style&#61;"border-left:1px solid white;border-right:1px solid white" class&#61;"tdcss2">${entryNos.GODOWO}td><td align&#61;"center" style&#61;"border-left:1px solid white;border-right:1px solid white" class&#61;"tdcss2">td><td align&#61;"center" style&#61;"border-left:1px solid white;"class&#61;"tdcss2">td>tr>c:forEach> table><table class&#61;"printTable"><tr rowspan &#61;"6" height&#61;"610px" id&#61;"trHeight"><td >td>tr>table> table>div>body>

function execWB(){//打印设置和打印操作document.all.WebBrowser.ExecWB(8,1);document.all.WebBrowser.ExecWB(6,1);}此处调用打印控件来实现打印功能&#xff0c;setTimeout(&#39;execWB()&#39;,400);来实现调用打印方法的时间控制。

"PageNext">
通过PageNext来实现打印分页功能&#xff0c;当循环到一定数量的数据时就会进行分页。
其他需要注意的是&#xff1a;弹出的打印设置&#xff0c;需要将其参数全部设为"空"&#xff0c;否则会将页码和标题等全部打印上去。
${entryNo.count}&#xff1a;得到forEach循环的次数&#xff0c;有时候很实用。

此打印主要针对简单的JSP实现&#xff0c;当然&#xff0c;有很多更强大的打印软件和插件也是不错的&#xff0c;有兴趣大家也可以去学习学习&#xff0c;交流交流。


推荐阅读
  • C#中实现高效UDP数据传输技术
    C#中实现高效UDP数据传输技术 ... [详细]
  • 本文介绍了Android动画的基本概念及其主要类型。Android动画主要包括三种形式:视图动画(也称为补间动画或Tween动画),主要通过改变视图的属性来实现动态效果;帧动画,通过顺序播放一系列预定义的图像来模拟动画效果;以及属性动画,通过对对象的属性进行平滑过渡来创建更加复杂的动画效果。每种类型的动画都有其独特的应用场景和实现方式,开发者可以根据具体需求选择合适的动画类型。 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • C++ STL 常见函数应用详解与实例解析
    本文详细解析了 C++ STL 中常见函数的应用,并通过具体实例进行说明。特别地,文章对迭代器(iterator)的概念进行了深入探讨,将其视为一种将迭代操作抽象化的工具,便于在不同容器间进行元素访问和操作。此外,还介绍了迭代器的基本类型、使用方法及其在算法中的应用,为读者提供了丰富的实践指导。 ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 如何使用 net.sf.extjwnl.data.Word 类及其代码示例详解 ... [详细]
  • 通过整合JavaFX与Swing,我们成功地将现有的Swing应用程序组件进行了现代化改造。此次升级不仅提升了用户界面的美观性和交互性,还确保了与原有Swing应用程序的无缝集成,为开发高质量的Java桌面应用提供了坚实的基础。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 优化后的标题:数据网格视图(DataGridView)在应用程序中的高效应用与优化策略
    在应用程序中,数据网格视图(DataGridView)的高效应用与优化策略至关重要。本文探讨了多种优化方法,包括但不限于:1)通过合理的数据绑定提升性能;2)利用虚拟模式处理大量数据,减少内存占用;3)在格式化单元格内容时,推荐使用CellParsing事件,以确保数据的准确性和一致性。此外,还介绍了如何通过自定义列类型和优化渲染过程,进一步提升用户体验和系统响应速度。 ... [详细]
  • 为了在Fragment中直接调用Activity的方法,可以通过定义一个接口并让Activity实现该接口来实现。具体步骤包括:首先在Fragment中声明一个接口,并在Activity中实现该接口。接着,在Fragment中通过类型转换检查Activity是否实现了该接口,如果实现了则调用相应的方法。这种方法不仅提高了代码的解耦性,还增强了模块间的通信效率。此外,还可以通过ViewModel或LiveData等现代Android架构组件进一步优化这一过程,以实现更加高效和可靠的通信机制。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • jQuery Flot 数据可视化插件:高效绘制图表的专业工具
    jQuery Flot 是一款高效的数据可视化插件,专为绘制各种图表而设计。该工具支持丰富的图表类型和自定义选项,适用于多种应用场景。用户可以通过其官方网站获取示例代码和下载资源,以便快速上手和使用。 ... [详细]
  • 深入解析JWT的实现与应用
    本文深入探讨了JSON Web Token (JWT) 的实现机制及其应用场景。JWT 是一种基于 RFC 7519 标准的开放性认证协议,用于在各方之间安全地传输信息。文章详细分析了 JWT 的结构、生成和验证过程,并讨论了其在现代 Web 应用中的实际应用案例,为开发者提供了全面的理解和实践指导。 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
author-avatar
丁丽君coolboy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有