Jqprint 实现网页打印:
(转自:http://www.jq22.com/jquery-info347)
引入jqorint:
<script language="javascript" src="jquery-1.4.4.min.js"></script> <script language="javascript" src="jquery.jqprint-0.3.js"></script>
JS代码:
<script language="javascript"> function a(){ $("#ddd").jqprint(); } </script>
Html:
<div id="ddd"> <table> <tr> <td>test</td> <td>test</td> <td>test</td> <td>test</td> <td>test</td> </tr> </table> </div> <input type="button" onclick=" a()" value="打印"/>
相关参数:
$("#printContainer").jqprint({ debug: false, //如果是true则可以显示iframe查看效果(iframe默认高和宽都很小,可以再源码中调大),默认是false importCSS: true, //true表示引进原来的页面的css,默认是true。(如果是true,先会找$("link[media=print]"),若没有会去找$("link")中的css文件) printContainer: true, //表示如果原来选择的对象必须被纳入打印(注意:设置为false可能会打破你的CSS规则)。 operaSupport: true//表示如果插件也必须支持歌opera浏览器,在这种情况下,它提供了建立一个临时的打印选项卡。默认是true });
制作A4纸打印的网页像素设置:
(转自:https://www.cnblogs.com/sun-star/p/3934299.html)
A4纸的尺寸是210mm*297mm,也就是21.0cm*29.7cm,而1英寸=2.54cm,如果屏幕DPI分辨率为72像素/英寸,换算一下:相当于1cm可呈现 (72px/2.54cm) = 28.34px
下面是一些常用分辨率下A4纸在屏幕上的像素尺寸:
分辨率是72像素/英寸时,A4纸的尺寸的图像的像素是595×842;
分辨率是96像素/英寸时,A4纸的尺寸的图像的像素是794×1123;(默认)
分辨率是120像素/英寸时,A4纸的尺寸的图像的像素是1487×2105;
分辨率是150像素/英寸时,A4纸的尺寸的图像的像素是1240×1754;
分辨率是300像素/英寸时,A4纸的尺寸的图像的像素是2480×3508;
在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dot Per Inch)指标。
经过我仔细的测试,发现了网页打印中,默认采用的是96dpi,并非传闻的72dpi
A4纸张的尺寸是210×297mm,按1英寸=25.41mm换算,即8.264×11.688英寸
所以,A4纸96dpi下的分辨率是794×1123,这就是我们在制作网页的时候需要的象素。
但是打印机是无法满幅打印的,总要有页边距,所以我们在制作网页的时候必须减去页边距。
以下是我测试的各种页边距下,A4纸对应的象素尺寸:
打印页边距设定为 0mm 时,网页内最大元素的分辨率:794×1123
打印页边距设定为 5mm 时,网页内最大元素的分辨率:756×1086
打印页边距设定为 19.05mm 时,网页内最大元素的分辨率:649×978
其他的大小,一般标准印刷300dpi时:
A4纸的尺寸的图像的像素是2480×3508;
A3纸的尺寸的图像的像素是4960×3508;
B3纸的尺寸的图像的像素是3248×4300;
B4纸的尺寸的图像的像素是3248×2150。