在8.5x11纸张上打印HTML?

时间:2011-10-01 00:19:52

标签: html printing formatting

我想在8.5x11张纸上打印数据集(每张一张)。这些集合在一个网页上一个接一个地垂直呈现(以大小为8.5x11的div)。

如何在各张8.5x11张纸上打印相同格式的每个div?

1 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

  1. 尝试大约在一页上打印<div>的高度。这由<div>的内容决定,并不完全在您的控制之下(即,如果数据主要是文本,则用户可以选择覆盖您的字体大小或缩放页面以进行打印)。但是你应该能够得到一个适合的近似高度。对于12pt字体,我发现它的高度大约为900px。

  2. 创建一个.page类,该类使用CSS printing page break中的print stylesheet规则。这些允许您向浏览器建议是否应在元素之前或之后发生分页符。

  3. 你最终会得到以下内容:

    <强> HTML

    <div class="page">
        /* data */
    </div>
    <div class="page">
        /* more exciting data */
    </div>
    

    <强> CSS

    .page {
        font-size: 12pt; 
        height: 900px;  /* You'll need to play with this value */
        page-break-after: always; /* Always insert page break after this element */
        page-break-inside: avoid; /* Please don't break my page content up browser */
    }
    

    如需更多阅读,this ALA article提供了一些打印网页的优秀提示。

    但是,如果您正在寻找对报告打印方式的精确控制,我建议您生成PDF并将其提供给用户。