【问题标题】:Multi-Page invoice printing on one page在一页上打印多页发票
【发布时间】:2010-04-02 01:08:38
【问题描述】:

我有一张发票,其中包含我要打印的 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;
}

【问题讨论】:

    标签: html printing css-tables invoices


    【解决方案1】:

    您可能想要指定特定的样式表进行打印。例如,

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

    然后,您可以在要分页的地方应用分页符类。 This article 有一些巧妙的技巧来格式化页面以进行打印。

    【讨论】:

    • 列出的样式表是打印样式表
    • 也许你可以在 div.header 类中添加一个 page-break-before:left。这样你就可以在每个标题之后获得一个新页面。
    【解决方案2】:

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

    但是,如果您将某些东西设置为高度为 100%,无论是表格、div 还是其他东西,都会导致类似行为的一种相当盲目的尝试。有时这样做是为了尝试在浏览器窗口底部保留页脚,如果这样做,可能会在打印时导致此行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      相关资源
      最近更新 更多