自己开发基于Web的打印控件,真正免费不是共享
1.1.0.121 版的控件,更新如下
SetPrintBackground 已被取消
SetMediaHeader 去掉了两个参数,见被划掉的文字部分
在做项目中发现要用到Web方面的打印,于是从网上搜索了一些相关的web打印控件,有scriptx,jatoolsPrinter等,不过都不是免费的,想想还是自己做的好,毕竟这不是太难的事情。
下载地址:
http://download.csdn.net/source/1625752(不要在这下)
注意:由于csdn上传的资源我自己无法删除,导致后续的控件更新无法及时更新,大家不要去csdn的下载频道下载了,已经有新的版本下载,这次是全开发,真正免费的。以下是链接
如果之前装有旧版的控件,请先卸载再安装新版控件。
用的话可以先装个虚拟打印机smartprint或其它的虚拟打印机
最新下载,以后的更新都在这了,csdn下载资源的停止更新
最新版下载地址,最新版本ver 1.1.0.121
http://www.vdisk.cn/down/index/4478770A2930
如果不能自动安装,请在ie->internet安全设置里设置"下载未签名的activex控件",选择"提示",如图
vWebPrint功能简单介绍如下
控件主要的特点是支持打印方案的保存和读取,批量url直接打印,所有方法属性可以混合组合使用,报表的设计就交给使用者自己了,网上关于css控制的资料不少,在这里我要说下如何设定每页打印固定的表头和表尾。
<TABLE width="100%" border="0">
<THEAD style="display:table-header-group;font-weight:bold">
<TR><TD colspan="5" align="center" >这是每页必打的表头</TD>
</TR>
<TR>
<TD>ID</TD>
<TD>学校</TD>
<TD>地址</TD>
<TD>创建时间</TD>
<TD>操作</TD>
</TR>
</THEAD>
<TR>
<TD>23111</TD>
<TD>南宁二中</TD>
<TD>新民路</TD>
<TD>2009-8-8</TD>
<TD>编辑</TD>
</TR>
<TR>
<TD>23111</TD>
<TD>南宁二中</TD>
<TD>新民路</TD>
<TD>2009-8-8</TD>
<TD>编辑</TD>
</TR>
<TFOOT style="display:table-footer-group;font-weight:bold">
<TR>
<TD colspan="5" align="left" >这里是每页必打的表尾</TD>
</TR>
</TFOOT>
</TABLE>
红色是固定表头,兰色是固定表尾。
有什么BUG及建议请留言。
vWebPrint控件使用手册 ver1.0.0 | ||||||||||||
一 控件安装: |
vWebPrint是Activex控件, 服务端无运行环境要求,客户端运行环境要求浏览器最好是IE内核的。 由于采用了安全方式编码,IE的高级选项->安全标签中所有的安全级别设置不用变更,使用原来默认即可。 |
|||||||||||
|
||||||||||||
二 使用示例: |
其他种类的Web打印控件大多都有一个共同问题,就是如果有十张要打印的表单,就得做十个不同的打印页面,如果是30张呢,劳动强度还是蛮大。 本控件集成在Web页面中,通过指定要打印的URL进行打印,因此避免了其他web打印控件的所存在的共同问题,即打印页面只用写一个,URL可以作为参数进行传递到打印页面。。 同时用户可以保存多个打印方案,用户可以随意加载指定的打印方案,而不用每次打印时重新设定。 批量URL打印,用于大量数据打印,比如要打印1000页,可以分解成 http://www.test.com/print_action.do?start_num=1&end_num=100, http://www.test.com/print_action.do?start_num=101&end_num=200 .......等。 支持HTML格式的页眉(需要使用者指定每页打印数据的ID命名规范)等特性,下面是一些常用例子。 |
|||||||||||
|
||||||||||||
三 使用参考: |
程序员开发参考。 页面控件声明: userId可以以以下方式加载,示例 |
|||||||||||
属性: |
名称 |
描述 |
Js脚本设置例子 |
备注 |
||||||||
LoadUrl | 指定要打开的Url链接。 | webPrn.LoadUrl = "http://www.google.com"; | ||||||||||
ShowToolbar | 指定是否显示工具条,设置值为true或false。 | webPrn.ShowToolbar = true; | ||||||||||
LoadBatchUrl | 指定要打批量打印的页面,多个页面要以逗号分隔。 | webPrn.LoadBatchUrl = "http://www.baidu.com,http://www.google.com" | ||||||||||
方法: |
名称 | 参数 | 描述 | Js脚本设置例子 |
备注 |
|||||||
OpenDocumentHTML |
pHTML, cssFilePath, jsFilePath |
打印指定的HTML代码 cssFilePath 指定要加载的css文件,要全路径 如 http://192.168.0.22:8088/abc/style.css jsFilePath 指定要加载的js文件,同上要全路径 因为这个方法只是对指定的页面打印innerHTML,一般没有附带css样式,所以增加css文件加载的参数。
|
webPrn.OpenDocumentHTML(document.body.innerHTML); |
提供了更为灵活的打印方式,可以打印页面任意对象的HTML源。
打印HTML源的另一种方式,不得与LoadUrl混用,LoadUrl属性不要设置,OpenUrl方法不要执行。 |
||||||||
SetTopMargin | pTop | 指定纸张上边距,单位cm | webPrn.SetTopMargin("1.0"); | |||||||||
SetLeftMargin | pLeft | 指定纸张左边距,单位cm | webPrn.SetLeftMargin("1.0"); | |||||||||
SetRightMargin | pRight | 指定纸张右边距,单位cm | webPrn.SetRightMargin("1.0"); | |||||||||
SetBottomMargin | pBottom | 指定纸张下边距,单位cm | webPrn.SetBottomMargin("1.0") | |||||||||
SetOrientation | pOrientation | 指定打印方向,1纵向,2横向 | webPrn.SetOrientation(1); | |||||||||
SetPaperSize |
pPaperSize, [pW], [pH] |
指定纸张类型
当pPaperSize=256时,表明是自定义纸张,需要同时指定pW(纸张宽度cm),pH(纸张高度cm),如果不指定,自定义纸张的宽度默认为22cm,高度14cm。 当pPaperSize<>256时,表明是系统保留纸张,不用指定pW和pH参数。 |
webPrn.SetPaperSize(9); //9是A4 或 webPrn.SetPaperSize(256,15,18); //自定义纸张,宽15cm,高18cm,一般用于套张纸张定义 |
|||||||||
SetCopies | pCopies | 指定打印份数。 | webPrn.SetCopies(3); //打印三份 | |||||||||
SetPaperInfo | 无 | 使所有的打印机设置生效,只有执行本方法,打印机的设置才会生效。 | webPrn.SetPaperInfo(); | |||||||||
SetHeader | pHeaderText | 指定打印页眉,见[附表二] | webPrn.SetHeader("我的页眉"); //设置打印页眉 | |||||||||
SetFooter | pFooterText | 指定打印页脚,见[附表二] | webPrn.SetFooter("我的页脚"); //设置打印页脚 | |||||||||
ResetDefaultPaperInfo | 无 | 恢复打印机设定,A4纸,纵向,系统默认页眉页脚,份数1张,但不恢复上下左右边距 | webPrn.ResetDefaultPaperInfo(); | |||||||||
OpenUrl | 无 | 在设定了LoadUrl属性后,执行本方法,打开一个待打印的页面 | webPrn.OpenUrl(); | |||||||||
SetMediaHeader |
pHeaderText, pHeaderAlign, pPageId, pPageType, pHeaderHeight |
指定带格式的页眉
pHeaderText,页眉文本 pHeaderAlign,页眉位置(left,center,right) pPageId,打印页中,每页的ID命名规则,如 pPageType,打印页中,每页数据的容器对象类型,只能为"TABLE"或"DIV" pHeaderHeight,页眉的高度,单位px(像素) |
webPrn.SetMediaHeader("<font color=red>红色页眉</font>","left","page","DIV","28px"); webPrn.SetMediaHeader("<font color=red>红色页眉</font>","left","28px"); |
|||||||||
SaveUserPrinterSertup |
schemeName 返回true或false |
以schemeName为名称保存当前用户的打印方案 |
webPrn.SaveUserPrinterSertup("增值票打印方案A3"); 或 webPrn.SaveUserPrinterSertup("一般票打印方案A5"); |
|||||||||
LoadUserPrinterSetup |
[schemeName] 返回true或false |
以schemeName为名称读取当前用户的打印方案 |
webPrn.LoadUserPrinterSetup("增值票打印方案A3"); 或 webPrn.LoadUserPrinterSetup("一般票打印方案A5"); 方案名称可以直接指定也可以由控件界面选择 |
|||||||||
PrintBatchWebPage | 无 | 在设定了LoadBatchUrl属行后,执行本方法,批量直接打印N个待打印的页面。 | webPrn.PrintBatchWebPage(); | |||||||||
PrintWebPage | 无 | 直接打印当前页面 | webPrn.PrintWebPage(); | |||||||||
PrintSetupWebPage | 无 | 打印前进行打印机设置,当然可以取消打印 | webPrn.PrintSetupWebPage(); | |||||||||
PrintView | 无 | 打印预览 | webPrn.PrintView(); | |||||||||
PrintSetup | 无 | 打印设置 | webPrn.PrintSetup(); | |||||||||
PrintStatus | 无 | 检测打印机是否安装 | webPrn.PrintStatus(); | |||||||||
SetPrintObjects |
pObjs, [pQueryType], |
指定打印的页面对象,只影响TABLE和DIV两种对象
pObjs,要打印对象的ID命名,多个对象用逗号分隔 |
webPrn.SetPrintObjects("page_0,page_2",1); //精确匹配,只打印第一页和第三页的table或Div对象 或 webPrn.SetPrintObjects("page,tab",0); //模糊匹配,只打印ID名称含有page和tab的table或Div对象 |
|||||||||
SetPrintBackground |
pBgobject, [pShowType] |
套打时,指定页面的底图对象 对象的对应属性要为 background="images/abc.jpg",不能为css样式类,可以设置在body pBgobject,底图对象ID命名 |
webPrn.SetPrintBackground("bodyObj",0); //底图容器对象ID为,bodyObj,预览时可见底图,打印时去掉底图 或 webPrn.SetPrintBackground("bodyObj",1); //底图容器对象ID为,bodyObj,预览时可见底图,打印时去掉底图 如 <body id="bodyObj" background="abc.jpg"> |
|||||||||
附表一: |
纸张类型定义,具体支持类型根据当时打印机。 注意 对象此属性的效果依赖于打印机厂家提供的驱动程序。某些属性设置值可能不起作用,或者一些不同的属性设置值可能有相同的效果。接受范围之外的设置值可能产生也可能不产生错误。详细信息,请参阅厂家具体驱动程序的文档 |
|||||||||||
1 信笺, 8 1/2 x 11 英寸。 2 +A611 小型信笺, 8 1/2 x 11 英寸。 3 小型报, 11 x 17 英寸。 4 分类帐, 17 x 11 英寸。 5 法律文件, 8 1/2 x 14 英寸。 6 声明书,5 1/2 x 8 1/2 英寸。 7 行政文件,7 1/2 x 10 1/2 英寸。 8 A3, 297 x 420 毫米 9 A4, 210 x 297 毫米 10 A4小号, 210 x 297 毫米 11 A5, 148 x 210 毫米 12 B4, 250 x 354 毫米 13 B5, 182 x 257 毫米 14 对开本, 8 1/2 x 13 英寸。 15 四开本, 215 x 275 毫米。 16 10 x 14 英寸。 17 11 x 17 英寸。 18 便条,8 1/2 x 11 英寸。 19 #9 信封, 3 7/8 x 8 7/8 英寸。 20 #10 信封, 4 1/8 x 9 1/2 英寸。 21 #11 信封, 4 1/2 x 10 3/8 英寸。 22 #12 信封, 4 1/2 x 11 英寸。 23 #14 信封, 5 x 11 1/2 英寸。 24 C 尺寸工作单 25 D 尺寸工作单 26 E 尺寸工作单 27 DL 型信封, 110 x 220 毫米 29 C3 型信封, 324 x 458 毫米 30 C4 型信封, 229 x 324 毫米 28 C5 型信封, 162 x 229 毫米 31 C6 型信封, 114 x 162 毫米 32 C65 型信封,114 x 229 毫米 33 B4 型信封, 250 x 353 毫米 34 B5 型信封,176 x 250 毫米 35 B6 型信封, 176 x 125 毫米 36 信封, 110 x 230 毫米 37 信封大王, 3 7/8 x 7 1/2 英寸。 38 信封, 3 5/8 x 6 1/2 英寸。 39 U.S. 标准复写簿, 14 7/8 x 11 英寸。 40 德国标准复写簿, 8 1/2 x 12 英寸。 41 德国法律复写簿, 8 1/2 x 13 英寸。 256 用户定义 |
||||||||||||
附表二: |
页眉页脚系统保留定义及说明 | |||||||||||
&w 窗口标题 &u 网页地址 (URL) &d 短日期格式(由“控制面板”中的“区域设置”指定) &D 长日期格式(由“控制面板”中的“区域设置”指定) &t 由“控制面板”中的“区域设置”指定的时间格式 &T 24 小时时间格式 &p 当前页号 &P 网页总数 && 单个 & 号 (&) &b 紧跟在这些字符之后的文本居中打印。 &b&b 紧跟在第一个 "&b" 之后的文本居中打印,跟在第二个 "&b" 之后的文本按右对齐方式打印。 |
||||||||||||
说明:所有方法和属性都可以混合使用,可以直接打印Url,也可以通过控件打印,使用时注意先后顺序就可以了:1打开文档,2设置打印机参数,3使打印机设置生效,4设置其他页面属性,5打印 | ||||||||||||
vWebPrint打印控件 Pengwei拥有版权,联系QQ:121310959 |
自己开发基于Web的打印控件,真正免费不是共享相关推荐
- ATGrid WEB报表打印控件/MIS报表控件
ATGrid WEB报表打印控件/MIS报表控件 ATGrid报表控件/WEB插件[专业版],对EtCell进行了进行了全面的改革, 将会彻彻底底的解决你的报表问题,让你开发达到从未有过的轻松和喜悦- ...
- 发现了一个好用的WEB项目打印控件--四方打印
PAZU 与WEB打印 PAZU 组件应用于基于WEB的开发 PAZU 提供以下三大类功能: 1.控制IE窗口的外观和行为 1.1 通过 JavaScript 隐藏IE的地 ...
- (转)WEB第三方打印控件[ASP.NET常用工具]
本文转载自:http://blog.csdn.net/chz_cslg/article/details/25415347 在B/S模式开发中,打印是个很大的困扰.无论是采用页面直接输出或者引用WORD ...
- 做了个web应用打印控件,用了4Fang WEB 打印控件,免费
做了个网页程序,选择了一个web打印控件,在浏览器升级到ie7后,不能打印了. 然后用了4Fang WEB 打印控件,免费的,支持ie6,ie7,ie8,可以自定义纸张大小, 自定义页眉页脚,分页.. ...
- 基于Applet的Web在线扫描仪控件
基于JAVAEE的B/S架构由于java语言的跨平台性 所以操控Window客户端资源能力有限, 目前比较流行是用其他语言如Delphi,VB,C++开发客户端控件 然后再html中用js调用. 但对 ...
- PAZU 是4Fang 为配合“四方在线”软件于2004年开发的WEB打印控件,适用于各种WEB软件项目的打印。...
PAZU 是4Fang 为配合"四方在线"软件于2004年开发的WEB打印控件,适用于各种WEB软件项目的打印. PAZU是客户端软件,使用于IE作为客户端的所有应用,与服务器端开 ...
- PAZU WEB打印控件
PAZU WEB打印控件 PAZU 组件在国内我们提供授权给包括中国电信.移动和银行在内的超过300家大中型企业和IT企业应用于基于WEB的开发 PAZU 支持包括Java, Dot Net, JSP ...
- 锐洋java web打印控件_锐洋Java web打印控
ReYoPrint产品介绍 ReYoPrint (锐洋.打印控件)是一款实现网页套打的专用工具.作为web应用开发者,我们经常会遇到在浏览器中打印报表.票据的需求,这些需求浏览器本身的打印功能一般不能 ...
- CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发, VC++源代码,OCX 控件源程序2018
CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发,VC++源代码,OCX 控件源程序2018 -- 100%源码开放企业级CA ...
最新文章
- Paddle网络结构中的层和模型
- java时间格式转换_Java中System.currentTimeMillis()计算方式与时间的单位转换
- css实现图片虚化_CSS中实现图片自适应的方法
- uva 10817——Headmaster's Headache
- C#之out和ref区别
- 【学习笔记4】Action名称的搜索顺序
- python人脸比对算法_Python的人脸识别,欧式距离比对,机器训练,人脸采集,离线识别...
- FlashFTP教程
- 【python】《多媒体技术与应用》实验报告「数字图像基础」
- 第八届山东省ACM大学生程序设计竞赛总结
- python打印什么意思,python语句:print(*[1,2,3]),是什么意思?
- 机器学习中几种常见的乘积(product)
- 华为敏捷/DevOps实践:如何开好站立会议
- 尸体火化,世界上再也找不到第二个比我社死的人了
- Phonetic symbol 清辅音 -- p
- 北斗由“高大上”转为“接地气” 芯片成国内智能手机标配
- 灾难拯救——让软件项目重回轨道
- CentOS 7.8 (2003) 发布,附下载地址
- 如何找到蓝奏云网盘登录后的ylogin、phpdisk_info?
- 算法笔记——基数排序
热门文章
- 达到英语欧洲语言C2级的书有,剑桥少儿英语二级书
- 2023最新猕猴桃影视系统源码/影视APP源码+安卓/苹果双端
- 在stm32cubemx的freertos中创总任务跑支线任务
- Mac item2 配色,大小写敏感及常用快捷键
- 大数据用什么软件python_大数据软件 python
- 判断是否是平衡二叉树
- 制图大赛计算机二维绘图,第五届“高教杯”全国大学生先进成图技术与产品信息建模创新大赛 机械类 计算机绘图试卷.pdf...
- 微光集市-登陆后用户对购物车的操作(版本4.0)
- xml与map的相互转换
- js中拼接字符串遇到的单引号、双引号以及转义字符问题