web打印有那几种方法

html-css010

web打印有那几种方法,第1张

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

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

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

分拆纵向独立属性。为元素设置上、下外边距。

分拆横向独立属性。为元素设置上、下外边距。

分拆独立属性。为元素单独设置上、右、下、左4个方向的内边距。

属性值描述:

1.阴影类型:此参数可选,默认的投影方式是外阴影;如果取其唯一值“inset”,就是将外阴影变成内阴影。

2.X-offset:是指阴影水平偏移量,其值可正可负,正值,则阴影在对象的右边,负值,阴影在对象的左边

3.Y-offset:是指阴影的垂直偏移量,其值也可以是正负值,正值,阴影在对象的底部,负值时,阴影在对象的顶部。

4.阴影模糊半径:此参数是可选,只能为正值,如果其值为0时,表示阴影不具有模糊效果,值越大阴影的边缘就越模糊

5.阴影扩展半径:此参数可选,其值可为正负值,正值,则整个阴影都延展扩大,反之,则缩小

6.阴影颜色:此参数可选,不设定任何颜色时,浏览器会取默认色,但各浏览器默认色不一样,特别是在webkit内核下的safari和chrome浏览器将无色,也就是透明,建议不要省略此参数。

注:多层阴影,最内层优先级最高,之后依次降低。使用逗号“,”隔开。

3.border-image-width:定义元素边框图像的厚度。

该属性用于指定使用多厚的边框来承载被裁剪后的图像。

当该属性省略未定义时,因为默认值是 1 ,所以该属性的计算值会是 1 * border-width ,相当于会直接使用 border-width 的定义。

4.border-image-outset:定义边框图像从边框边界向外偏移的距离。

5.border-image-repeat:定义分割图像怎样填充边框图像区域。

2.background-image:定义元素使用的背景图像。

3.background-repeat:定义元素的背景图像如何填充。

4.background-attachment:定义滚动时背景图像相对于谁固定。

5.background-position:指定背景图像在元素中出现的位置。

example:假设要定义背景图像在容器中右下方,并且距离右边和底部各有20px

要注意的是:设置3个或4个值,偏移量前必须有边界关键字。也就是说,形如:10px bottom 20px,这样的参数设置是错误的,因为10px前面没有关键字。

6.background-origin:指定的背景图像计算background-position时的参考原点(位置)。

取值:

border-box:从border区域(含border)开始显示背景图像。

padding-box:从padding区域(含padding)开始显示背景图像。 (默认)

content-box:从content区域开始显示背景图像。

注意,如果设置background-origin后,设置background-position会相对于background-origin设置的位置做参考来偏移背景图,比如设置在border开始显示图片,这是设置background-position:left 10px top 10px是相对于边框进行左边偏移10px上面偏移10px,如果没设置background-origin,默认是相对于padding处进行偏移。

7.background-clip:指定对象的背景图像向外裁剪的区域。

取值:

border-box:从border区域(含border)开始向外裁剪背景。(默认)

padding-box:从padding区域(含padding)开始向外裁剪背景。

content-box:从content区域开始向外裁剪背景。

text:从前景内容的形状(比如文字)作为裁剪区域向外裁剪,如此即可实现使用背景作为填充色之类的遮罩效果。

8.background-size:定义背景图像的尺寸大小