1、在需要打印的网页空白位置点击右键,在d出菜单中选择“打印”菜单项。
2、这时会d出打印唤禅设置页面,点击下面的“更多设置”快捷链接。
3、在d出的页面设置中找到“选项”设置一项,取消“页眉和页脚”前面的勾选即可。这样打印的纸上就不会出现网址与页码了。
4、IE浏览器可以先在标题栏的空白位置点击右键,在d出菜单中选中“菜衫历单栏”菜单项。
5、接着点击文件菜单,在d出的下拉菜单中点击“页面设置”菜单项。
6、在打开的页面设置窗口,把页眉与页脚两项都设置为“空”,最后点击确定按钮。这样在打印的纸上就不会出现网址与和塌尘页码了。
一、浏览器的打印功能菜单这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如:
不能精确分页。浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。
不能准确对齐边边距及打印文字。
不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。
二、使用webbrowser控件+ javascript
这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。
三 、使用print css
这是一种最理想的实现web套打的方法。这种方法通过在html文档缺皮中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比 如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序伏磨差员目前还不能利用print css进行实际的开发。关于打印css,参见http://css-discuss.incutio.com /?page=PrintStylesheets
四 、使用PDF文件
用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能 实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但游衫在pdf不那么普及的中国,这种方案不是最好选择。
问题描述:
在B/S项目中需要打印大量的图片,我们使用window.print,但是当数据量大至上世困则万的时候,将图片加载出来需要一些时间,加载出来之后打印,如果用户关闭了打印界面会导致打印页的缺失。
解决思路:
1.IE,使用ActiveX控件,非IE,使用Flash插件。这种思路不同的浏览器开发方式不一样,IE/FF/GROME
2.开发一个exe,客户端安装到本地服务,使用HTTP通讯方式。通过JS发送HTTP请求给本地的服务,本地服务起一个小型的HTTP server接收请求,然后返回数据,JS解析,显示在UI上。比如将打印的参数传值到本地服务,本地服务去调用打印机,使浏览器资源得到释放。
我们使用第二种思路。
尝试了以下方法:
1.HttpPrinter
采用原因 免费 ,OME费用很便宜的,而且不限制时间和数量.还可以购买源码的。
HttpPrinter.com
2.葡萄城的ActiveReports
中有B / s端的打印使用window.print实现
https://demo.grapecity.com.cn/ActiveReports/ASPNET/ControlExplorer/Viewers/Default.aspx?category=1001&action=14
另外有C / S端尺信的打印,无法与浏览器交互,但是可以去改进
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=48785&extra=page%3D1
3. Lodop分为收费版与免费版
(1)使用Lodop插件,需要客户端安装一个服务,服务的端口默认是8000或18000
(2)如何购买和使用打印控件的Lodop的注册号
http://blog.sina.com.cn/s/blog_721e77e50100nfzs.html
(3)Lodop样例演示
http://www.lodop.net/LodopDemo.html
考量问题:
(1)免费版有水印
4. JCP分为收费版与免费版
安装程序搜棚需要替换
网官 http://printfree.jatools.com/
考量问题:
免费版只适合于IE浏览器
图片需要渲染到页面,打印时释放浏览器资源可以做其他 *** 作
收费版jatoolsPrint支持大部分浏览器
5.jquery打印
底层是window.print方法
最后考量,我们决定将的ActiveReports中的C / S端程序打包成EXE,利用自定义协议实现打开本地exe服务,使用HTTP方式实现浏览器与本地服务的通讯。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)