我有CSS和HTML,我将转换为PDF。我想在每个页面上指定一个标题,在PDF中,它将在每个新页面上重复。
我知道我可以使用THEAD指定标题,但是,是否有一个免费的html-to-pdf转换器会尊重THEAD标记?
如果没有,还有其他选择吗?
...谢谢
答案 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转换器是否尊重这种风格,但有可能向开源转换器的开发人员报告此要求。