使用CSS在预先格式化的纸张上打印发票

MB.*_*MB. 7 html css printing

我的html发票在屏幕上显示得很好.我想将它打印到预先格式化的纸张上.这篇论文有三个部分

标题(从页面顶部开始固定的高度)

身体(由1 - N行组成的表)

页脚(从页面底部开始固定的高度)

我尝试过使用CSS并使用#InvFooter和CSS创建div

<link rel="stylesheet" href="print.css" type="text/css" media="print" />
Run Code Online (Sandbox Code Playgroud)
@page { size:8.5in 11in; margin: 2cm }


#InvFooter {position:absolute;left:50px;bottom:0px;} 
Run Code Online (Sandbox Code Playgroud)

我有两个问题,我无法弄清楚.

  1. 如何将页脚锚定到打印页面的底部.
  2. 如果表有太多行,如何将Body限制为页面的固定部分并溢出到另一页面.

小智 2

简单的答案:不,html/css 从来就不是用于打印的。即使您可以“修改”绝对尺寸以适合您当前的打印机,也不能保证它们适合下一台(或客户的)打印机。

出于这个原因,PDF 被发明了,以打印格式提供您所期望的内容(以及高可移植性)。

通过使用 PDF,您可以保证获得固定的(纸张)尺寸。

您将能够找到免费的 pdf 解决方案(开源)以及商业解决方案(例如动态 PDF - 还有许多其他解决方案),这些解决方案允许您从 .Net 即时/动态地从基于服务器的生成 PDF不依赖 Adob​​e 产品的应用程序。