【发布时间】:2012-12-12 09:59:12
【问题描述】:
我有一张在屏幕上显示良好的 html 发票。我想把它打印到预先格式化的纸上。论文分为三个部分
页眉(距页面顶部的固定高度)
正文(由 1 - N 行组成的表格)
页脚(距页面底部的固定高度)
我尝试过使用 CSS 并使用 #InvFooter 和 CSS 创建一个 div
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
@page { size:8.5in 11in; margin: 2cm }
#InvFooter {position:absolute;left:50px;bottom:0px;}
我有两个问题我想不通。
- 如何将页脚固定到打印页面的底部。
- 如果表格行数过多,如何将正文限制在页面的固定部分并溢出到另一个页面。
【问题讨论】:
-
您所说的“预先格式化的纸张”是什么意思?实物纸张是否已部分打印?
-
是的。发票背景的颜色元素都是预先印好的,并带有一个穿孔。
-
啊哈,我明白了。我认为你将很难用 CSS 做到这一点。我建议您使用类似于 PDF 的内容。 CSS 和 HTML 确实更适合作为浏览器如何显示文档的指南。不用于打印 - 抱歉。
-
我无法回答,但我很确定您不能将页脚“锚定”到页面底部。如果您需要额外的空间将脚注推到底部,则必须使用沙袋“div 或计算出的内容和页脚之间的边距。祝你好运。
-
查找一个 PDF 库并在您的后端使用它。使用 HTML/CSS 将是一场噩梦,因为它不是为此而设计的。 (NodeJS 有一个很棒的叫做 PDFkit)