web打印有那几种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web打印有那几种方法相关的知识,希望对你有一定的参考价值。

 一、浏览器的打印功能菜单 

这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如: 

不能精确分页。浏览器一般是根据用户设置的页面大小,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不那么普及的中国,这种方案不是最好选择。

参考技术A 易桥网络打印机 HttpPrinter 考虑下 web打印插件工具 参考技术B

现在有一种可能更简单更方便的方法,就是采用所有浏览器都支持的URL Protocol协议,在服务器把打印的数据和报表模板组织好,然后通过URL Protocol调用在客户端电脑上已经安装好的打印程序,这样就可以实现稳定快捷简单的打印。我做了一个简单的示例(http://www.lc-simple.com/PrintTest/),大家有空的时候可一起探讨一下怎么方便快捷的解决Web下的打印问题

以上是关于web打印有那几种方法的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate有那几种查询数据的方式

3D制图软件有那几种

9.Java主要有那几种文件类型?各自的作用是什么?

Java主要有那几种文件类型,各自作用

MATLAB中的绘图函数有那几种颜色呀?

在stm32F10X单片机中,时钟有啥作用?,有那几种?请举列说明?