随笔 - 37  文章 - 0  评论 - 150  阅读 - 29万

[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以上的版本。


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

posted on   Zplutor  阅读(3716)  评论(4编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2009年10月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

点击右上角即可分享
微信分享提示