在一页上打印多页发票

时间:2010-04-02 01:08:39

标签: html printing css-tables invoices

我的发票中包含我要打印的100多行产品。此单一发票应占用3页,但打印时,内容将从页脚流出,下一页是以下发票。

我使用div而不是表格,我无法理解为什么长发票不会在多个页面上打印。

有什么想法吗?

这是我的样式表:

h1,h2,h3 { margin: 0 0 0.5em 0; padding: 0;}
body { font-family: sans-serif; font-size: 0.8em; }
label, legend { font-weight: bold; }
pre { font-family: sans-serif; }

shipping_address {
  width: 45%;
}

billing_address {
  width: 45%;
}

order_info {
  padding: 0 10px;
}

shipping_logo {
  width: 115px;
}

content {
  margin: 0px auto 0px auto;
  width: 100%;
  padding-bottom:15px;
}

div.container {
  display: table;
  width: 100%;
}
div.header {
  display: table-row;
  text-align: center;
}
div.row {
  display: table-row;
}

.even {
  background: #CCCCCC none repeat scroll 0 0;
}

div.cell {
  display: table-cell;
  padding: 0 10px;
}

2 个答案:

答案 0 :(得分:2)

您可能希望指定要打印的特定样式表。例如,

 @media all
 {
.page-break { display:none; }
 }

@media print
 {
.page-break { display:block; page-break-before:always; }
 }

然后,您可以将要分页的分页符类应用于中断。 This article有一些巧妙的技巧来格式化打印页面。

答案 1 :(得分:0)

我们需要的信息比您建议的更多信息才能真正解决这个问题。

但是,如果你设置了高度为100%的东西,无论是桌子,div还是其他什么东西,那么对于会产生类似行为的东西会非常盲目。这有时会尝试将页脚保留在浏览器窗口的底部,如果这样做,这可能会在打印时导致此行为。