是否有可能使一个HTML页面的行为,例如,像一个a4大小的页面在MS Word?
实际上,我希望能够在浏览器中显示HTML页面,并以A4大小页面的尺寸概述内容。
为了简单起见,我假设HTML页面只包含文本(没有图像等),例如,不会有<br>标记。
另外,当HTML页面被打印出来时,它将显示为a4大小的纸质页面。
是否有可能使一个HTML页面的行为,例如,像一个a4大小的页面在MS Word?
实际上,我希望能够在浏览器中显示HTML页面,并以A4大小页面的尺寸概述内容。
为了简单起见,我假设HTML页面只包含文本(没有图像等),例如,不会有<br>标记。
另外,当HTML页面被打印出来时,它将显示为a4大小的纸质页面。
当前回答
我从1998年开始在商业报告中使用680px打印A4页。700px不能正确地拟合取决于边缘的大小。现代浏览器可以缩小页面以适应打印机上的页面,但如果您使用680像素,几乎在任何浏览器中都可以正确打印。
运行代码片段并查看结果:
window.print (); <table width=680 border=1 cellpadding=20 cellspacing=0> < tr > < th > # < / th > < th >名称< / th > < / tr > < tr对齐=中心> < td > 1 < / td > < td >唐纳德·特朗普< / td > < / tr > 2 < tr对齐=中心> < td > < / td > < td >巴拉克•奥巴马(BARACK OBAMA) < / td > < / tr > 表> < /
JSFiddle:
https://jsfiddle.net/ajofmm7r/
其他回答
我使用HTML生成报告,在真实的纸张上正确地打印出真实大小。
如果你小心地使用mm作为CSS文件中的单位,你应该是OK的,至少对于单页。不过,人们可以通过改变浏览器中的打印缩放来搞砸你。
我似乎记得我所做的每一件事都是单页的,所以我不必担心分页——那可能要困难得多。
有很多方法:
使用毫米:
html, body {
width: 210mm;
height: 297mm;
}
使用公分cm:
html, body {
width: 21.0cm;
height: 29.7cm;
}
使用点pt:
html, body {
width: 595pt;
height: 842pt;
}
强制web浏览器以与A4相同的像素尺寸显示页面是相当容易的。然而,在渲染时可能会有一些怪癖。
假设你的显示器显示72 dpi,你可以添加如下内容:
<!DOCTYPE html>
<html>
<head>
<style>
body {
height: 842px;
width: 595px;
/* to centre page on screen*/
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body>
</body>
</html>
A4尺寸为210x297mm
所以你可以用CSS设置HTML页面来适应这些大小:
html,body{
height:297mm;
width:210mm;
}
从技术上讲,您可以这样做,但是要让所有浏览器打印出与屏幕上显示的一模一样的页面,需要做很多工作。而且,大多数浏览器强制在打印结果上输入URL、打印日期和页码,这并不总是理想的。这不能被改变或禁用。
相反,我建议根据屏幕上的内容创建一个PDF,并将PDF提供给下载和/或打印。虽然大多数可用的PDF库都是付费的,但也有一些免费的替代方案可用于创建基本的PDF。