杰表技术论坛 's Archiver

admin 发表于 2015-7-27 13:35

IE下如何直接打印页面(不弹出任何窗口)

[color=#333333][size=16px]用activeX插件jatoolsprinter来实现直接打印

[align=center][float=left][url=http://jingyan.baidu.com/album/ae97a646d615cabbfd461d23.html?picindex=1][img]http://c.hiphotos.baidu.com/exp/w=500/sign=246603dea9af2eddd4f149e9bd110102/35a85edf8db1cb131b3b41cbd854564e93584b93.jpg[/img]
[/url][/float][/align]




[/size][/color]
[color=#333333][size=16px]工具/原料[list][*]jatoolsprinter
[*]IE
[/list]
[/size][/color]
[color=#333333][size=16px]方法/步骤[list=1][*]
网上流传的调用默认的activeX来实现直接打印亲测无效,所以借助其他插件来解决这个问题。百度搜索“jatoolsprinter 免费版”,然后下载安装。

[url=http://jingyan.baidu.com/album/ae97a646d615cabbfd461d23.html?picindex=2][img]http://d.hiphotos.baidu.com/exp/w=500/sign=30f8135dccea15ce41eee00986023a25/203fb80e7bec54e7051267c6bc389b504ec26a6f.jpg[/img]
[/url]

[*]
先在需要打印的html上创建一个object,object的属性值如图所示。

[url=http://jingyan.baidu.com/album/ae97a646d615cabbfd461d23.html?picindex=3][img]http://g.hiphotos.baidu.com/exp/w=500/sign=afad43bdb619ebc4c0787699b227cf79/0b7b02087bf40ad1b445bb3b522c11dfa8ecce41.jpg[/img]
[/url]

[*]
再创建一个打印容器。注意:[b]该容器必须是div,而且必须有id值,id的形式必须以“page*”的形式,*为连续的从1开始的数字,一个div表示一个打印页。该打印页支持css样式,并可以动态增加dom元素。[/b]

[url=http://jingyan.baidu.com/album/ae97a646d615cabbfd461d23.html?picindex=4][img]http://d.hiphotos.baidu.com/exp/w=500/sign=52c239273ec79f3d8fe1e4308aa3cdbc/0eb30f2442a7d933536a98aba84bd11372f00123.jpg[/img]
[/url]

[*]
下面我们来设置打印参数。创建一个json对象myDoc,
documents参数为必传。
settings中设置边距和打印机名称。注意:[b]打印机名称必须写对,具体可以查看控制面板中打印机选项[/b]。
jatoolsPrinter.printPreview函数可以预览打印效果,在调试的时候很有用,正式使用请关闭。
jatoolsPrinter.print函数为打印函数,第二个参数为false即可直接打印。

[url=http://jingyan.baidu.com/album/ae97a646d615cabbfd461d23.html?picindex=5][img]http://e.hiphotos.baidu.com/exp/w=500/sign=f87164dc319b033b2c88fcda25cf3620/8c1001e93901213f9455370451e736d12e2e9587.jpg[/img]
[/url]
[url=http://jingyan.baidu.com/album/ae97a646d615cabbfd461d23.html?picindex=6][img]http://h.hiphotos.baidu.com/exp/w=500/sign=189b51ff8f82b9013dadc333438ca97e/10dfa9ec8a136327b5b7b8eb948fa0ec09fac794.jpg[/img]
[/url]

[*]
我们在打印预览觉得排版比较满意之后(预览效果如下图),可以注释掉预览函数,直接调用打印函数进行打印。

[url=http://jingyan.baidu.com/album/ae97a646d615cabbfd461d23.html?picindex=7][img]http://a.hiphotos.baidu.com/exp/w=500/sign=5a5d82141b178a82ce3c7fa0c602737f/562c11dfa9ec8a13bb5c2f38f203918fa1ecc0a0.jpg[/img]
[/url]

[*][align=center]6[/align]
最后补充一些常见问题及解决方法:
1.如何分页?
手动分页 <div id="pageN"></div>代表第N页,不可跨页。
2.一般A4纸打印区域是多少?
大概 width:694 height:1294
3.如果超过高/宽度会是什么效果?
超出部分将不打印
4.是否支持多台打印机同时打印?
支持,请使用iframe


[/list]
[/size][/color]

admin 发表于 2015-7-27 13:36

原帖:[url=http://jingyan.baidu.com/article/ae97a646d615cabbfd461d23.html]http://jingyan.baidu.com/article/ae97a646d615cabbfd461d23.html[/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.