[ASP.NET]使页面的大小适合打印尺寸

最近在做一个打印含有表格的Web页面的功能时,在一个问题上纠缠了很久。具体表现是,在我自己的电脑上打印时,一切都很正常,一张纸可以容纳整个表格。但是在客户的电脑上打印时,表格要占用两张纸,而且右边的一部分没了。

查找了很多资料,终于发现这是IE版本的问题。从IE7开始增加了一个“高级打印”的功能,在打印的时候页面内容会自动缩放,以适合打印纸张的大小。我用的是IE8,而客户用的是IE6,所以出现了这样诡异的问题。

找到了原因,解决方法自然就出来了:按照纸张的大小调整页面的范围。客户使用的是A4纸,宽度是210mm,高度是297mm,算上19mm的页边距,计算出表格的大小应该是172mm*253mm,最好去掉零头,取170mm*250mm,否则表格的边框可能打印不出来。

接下来在表格的CSS样式上设置width为170mm,height为250mm即可。这样设置后表格会比原来的小,所以还要把表格中的字体缩小。根据试验,发现A4纸使用x-small的字体大小就足够了。

这种方法看上去很笨,不过总算应付了这个打印的功能。但如果要这个页面既可以在浏览器上正常观看又可以正常打印的话,这个方法就无效了。所以,根本的解决方法是把IE升级到7以上的版本。


如果另有完美的解决方法,请赐教!

转载于:https://www.cnblogs.com/zplutor/archive/2009/10/30/1593147.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值