[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以上的版本。
如果另有完美的解决方法,请赐教!
作者:Zplutor
出处:http://www.cnblogs.com/zplutor/
本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现