【问题标题】:Cannot get page breaks to work using css and prince无法使用 css 和 Prince 获得分页符
【发布时间】:2014-09-18 12:44:39
【问题描述】:

我无法使用 css 和 Prince 将分页符插入到我的 pdf 中。第二张桌子接触第一张桌子。我究竟做错了什么?我想我可能误解了如何在 css 中使用打印指令,从我的角度来看,我正在做的正是用户指南告诉我的事情 (link)

我的代码如下:

@page { size: 210mm  297mm;   
}

chapter {page-break-before: always;} 

table.page{
  width:14cm;
  font-family:"Times New Roman";
  font-size: 12pt;
  border: 1px solid black;
  text-align:justify;
  padding:0;
  margin:0;
}

td.number{
  width:1.8cm;
  font-family:"Times New Roman" ;
  font-size: 12pt;
  text-align:justify;
  padding:0;
  margin:0;
}

td.content{
  width:12cm;
  font-family:"Times New Roman";
  font-size: 12pt;
  text-align:justify;
  padding:0;
  margin:0;
}
<body>
    <chapter>
        <table class="page">
            <tr>
                <td colspan="2">
                     <h1>Title </h1>

                </td>
            </tr>
            <tr>
                <td class="number">
                    <div>1</div>
                </td>
                <td class="content">
                    <div>this is some text</div>
                </td>
            </tr>
        </table>
    </chapter>
    <chapter>
        <table class="page">
            <tr>
                <td colspan="2">
                     <h1>Title 2</h1>

                </td>
            </tr>
            <tr>
                <td class="number">
                    <div>2</div>
                </td>
                <td class="content">
                    <div>this is some more text</div>
                </td>
            </tr>
        </table>
    </chapter>
</body>

【问题讨论】:

    标签: html css page-break princexml


    【解决方案1】:

    自己找到了答案:章节被认为是空的。如果我使用 table class="page" 元素来指定分页符,则可以使用。

    【讨论】:

      【解决方案2】:

      仅适用于块元素

      适用于: 级元素在根元素的正常流程中。用户代理也可以将其应用于其他元素,例如 表格行元素。

      它不适用于不会生成框的空&lt;div&gt;

      注意:此属性正在被更通用的break-before 取代。这个新属性还处理列和 区域中断并且在语法上兼容 page-break-before.

      在使用page-break-before之前,检查是否可以使用break-before 反而。在未来page-break-before 将只是一个别名 它的一些值。

      Source

      解决方案

      人们可以绕过这个限制,只需将inline 元素转换为block 元素(假设您有能力这样做)。

      .pagebreak {
          display: block;
          page-break-before: always;
      }
      

      【讨论】:

      • Prince XML 还没有break-before CSS 属性。
      猜你喜欢
      • 1970-01-01
      • 2013-01-09
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      相关资源
      最近更新 更多