2009-07-27 98 views
6

我有将要转换为PDF的CSS和HTML。我想在每个页面上指定一个标题,这些标题在PDF中将在每个新页面上重复。CSS to PDF,使用THEAD在新页面上重复标题

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

如果不是,有没有其他的选择?

谢谢...

+0

另请参阅此问题http://stackoverflow.com/questions/274149/ – Eero 2010-04-13 22:59:52

回答

2

如果这是一次而已,也许你可以简单地从打印对话框中打开浏览器,并出口到PDF。

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

+0

有趣的想法,我会研究这一点。谢谢。 – littleK 2009-07-28 12:21:17

2

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

+0

我其实很看好Prince XML,这非常好。但是,最终我需要购买一个服务器许可证(4000美元),这是相当多的。我正在寻找更多的开源替代品。谢谢! – littleK 2009-07-28 12:22:28

2

对于THEAD重复每一页的可能的解决方案是设置它的风格上:

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

这解决了大多数浏览器的问题,但仍然将在分页符表行的问题,他们在中间休息。

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

4

开放源代码Flying Saucer xhtmlrenderer html-to-pdf转换器尊重自R8发布(2009年4月)以来的THEAD标记。要重复PDF输出的每一页上的THEAD,以下内容添加到您的CSS:

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

当我添加cs -fs-table-paginate:paginate;为什么我的表css:border-collapse:collapse invalid; – FishGel 2012-05-09 06:37:38

3

WeasyPrint有看,它是开源和HTML/CSS转换为PDF。 (我是开发人员。)

WeasyPrint确实在每个页面上都重复了<thead><tfoot>,但这只适用于表格。对于正确的网页标题,您可以使用CSS3的页面媒体模块(WeasyPrint和其他一些面向打印的引擎支持)

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

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

相关问题