CSS到PDF,使用THEAD在新页面上重复标题

时间:2009-07-27 19:50:30

标签: html css pdf

我有CSS和HTML,我将转换为PDF。我想在每个页面上指定一个标题,在PDF中,它将在每个新页面上重复。

我知道我可以使用THEAD指定标题,但是,是否有一个免费的html-to-pdf转换器会尊重THEAD标记?

如果没有,还有其他选择吗?

...谢谢

5 个答案:

答案 0 :(得分:4)

自发行版R8(2009年4月)以来,开源Flying Saucer xhtmlrenderer html-to-pdf转换器尊重THEAD标记。要在PDF输出的每个页面上重复THEAD,请将以下内容添加到CSS中:

        table {
            -fs-table-paginate: paginate;
        }

答案 1 :(得分:4)

查看WeasyPrint,它是开源的,并将HTML / CSS转换为PDF。 (我是开发人员。)

WeasyPrint会在每个页面上重复<thead><tfoot>,但这仅适用于表格。对于正确的页眉,您可以使用CSS3的Paged Media模块(WeasyPrint和其他一些面向打印的引擎支持)

@page { @top-center { content: "My awesome title"; } }

所有细节都在css3-page spec。在某些时候,我想为它编写更多的作者友好的文档,但遗憾的是还没有。

答案 2 :(得分:2)

如果这只是一次,也许您只需在浏览器中打开页面并从“打印”对话框导出为PDF。

这样,浏览器处理正确显示THEAD元素并获得PDF输出。

答案 3 :(得分:2)

我真的很喜欢Prince XML。它尊重thead的位置,并支持很多CSS。它至少可以免费供个人使用。

答案 4 :(得分:2)

要让thead在每个页面上重复,可能的解决方案是将其样式设置为:

@media print {
  thead {
    display: table-header-group;
  }
}

这解决了大多数浏览器中的问题,但是在分页时划分表行仍然存在问题,它们在中间断开。

虽然我不知道html2pdf转换器是否尊重这种风格,但有可能向开源转换器的开发人员报告此要求。