A. 打印指定的frame ,如果我们有多个iframe 或者frame ,我们想打印其中的某一个,怎么办strong>
方法一:在要打印的frame中嵌入PAZU,用户在打印的时候,点击该frame的打印按钮
方法二:打印前先用javascript 让要打印的frame获得焦点,再调用doPrint(false) 方法
例子:
- windows.frames[‘myframe’].focus();
- pazu.doPrint(false);
B.页面载入的时候立即打印或者获得打印机和纸张列表
你可以在
的onload事件里面完成你要的工作
C.同一个页面里面,有些内容,如某个DIV或者按钮我们不想打印出来,但是屏幕上有需要显示,怎么办strong>
在你的不打印的元素里面的样式表类class里面,添加一个p__的就可以了
- 这个DIV和”打印试试”按钮都不会被打印
D. 连续循环打印超大数据集的打印strong>
这种应用有两种实现方式,要具体看数据的多少。
1. 如果数据量不大(一个 页可以把所有要打印的数据显示出来,虽然 页要滚动才能显示,但是生成的HTML体积不大,而且用户不需要等待太长的时间来生成全部),如:一张出货单,需要分开多页打印出来
这种情况可以在 页要分页的地方 插入 一个css样式的分页,打印的时候就会自动分页打印了。我们的四方在线的凭证打印、账簿的打印、单据的打印都是采用这种方式。
具体实现例子如下:
- 这是第一页的内容
- 这是第二页的内容
- 这是第三页的内容
2. 如果数据量大,或者程序设计上不能做到一个 页把所有要打印的内容都容纳进来, 例如要打印10万个客户的账单,账单的数据在服务器的数据库中
这种需求实际上是通过循环多次载入页面实现的,你可以动态载入动态页面来实现,在我们的四方在线软件里面就有一个按月打印凭证的功能,就是这样的一种应用方式。
具体实现如下:
- //假设当前页面为:thispage.jsp
- //利用javascript ,打印完成后自己载入下一页
- //在页面中引入PAZU打印控件后,参考一下javascript
- window.οnlοad=function(){
- //先对页面参数进行设置
- pazu.TPrinter.header=””;
- //其他设置,这里省略….
- //执行打印,打印的时候注意不能预览,也不能提示用户选择打印机,而是让pazu直接输出到打印机
- pazu.TPrinter.doPrint(false);
- //延迟一点时间,让页面重新载入下一页
- setTimer(“printNextPage();”,1000);
- };
- function printNextPage(){
- window.location.href=”thispage.jspgeid=NextPage”;
- }
PS:忘记在哪里借鉴过来的了。。。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!