width,height为多少px时,A4纸打印时刚好一页?

计算方式
一般的分辨率为XX像素/英寸,其中一英寸为25.4毫米。
所以一毫米的像素数就为XX/25.4。现在的工作就是求XX的值了,把XX的值求出来以后,
直接用XX/25.4 * 210就得到A4纸的像素宽了。

A4纸的尺寸是210mm×297mm。 
分辨率是72像素/英寸时,A4纸的尺寸的图像的像素是595×842(推荐用这个大小比例)。  
分辨率是150像素/英寸时,A4纸的尺寸的图像的像素是1240×1754。 
分辨率是300像素/英寸时,A4纸的尺寸的图像的像素是2479×3508。

选择不同的分辨率图像像素大小也会随之变化。

我是用下面的转换公式,将A4纸转为在屏幕中的分辨率

页边距: 0.75 inch
A4: 8.27x11.69 inch
打印机DPI:600DPI
屏幕DPI  : 96DPI
width = (8.27 - 0.75 * 2) * 96 / 600 = 650 px
height =  (11.69 - 0.75 * 2)* 96 / 600 = 978 px

所以,当<table> 的width=650px, height=978px时,用IE 打印时,刚好能打印一页的A4纸.

在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dots Per Inch)指标。
在Windows系统的网页打印中默认采用的是96dpi,Mac系统中默认的是72dpi。

A4纸张的尺寸是210×297mm,按1英寸=25.41mm换算,即8.264×11.688英寸

所以,A4纸96dpi下的分辨率是794×1123,这就是我们在制作网页的时候需要的象素。

理想情况下,打印页边距为0mm 时,网页内最大元素的分辨率:794×1123
<div style="width:794px;height:1123px;border:1px solid #000000;"></div>

但是打印机是无法满幅打印的,总会有页边距,所以我们在制作网页的时候必须考虑到页边距。

各种浏览器的打印页边距设置是不同的,IE打印默认的页边距为19.05mm,

因此针对IE打印页设计的网页页内最大元素的分辨率应为:649×978
<div style="width:649px;height:978px;border:1px solid #000000;"></div>

上一篇:[网络编程] TCP、UDP区别以及TCP传输原理、拥塞避免、连接建立、连接释放总结


下一篇:Angular-Chart.js 初接触;;;