2010-02-07 78 views
10

什么是打印时做分页符的CSS代码?或者更好的是,是否有一些像JQuery这样的打印CSS框架对网页DOM进行操作?我需要使用Adobe PDF等控件打印网页,但不使用第三方插件。打印需要提供精确,像控制什么像素击中每个页面的顶部,(如果我们希望把我们的商标上的每一页页眉的例子。什么是打印网页分页符的CSS代码?

任何想法?

回答

16

page-break-before: always;

page-break-after: always;

6

您可以尝试使用page-break-before or page-break-after性强制分页符。

像素完美的打印控制将是非常,非常难以实现。例如,每个眉毛呃增加了一个你不能影响的页脚和标题部分,只有用户可以关闭。浏览器忽视背景图像,并倾向于设置他们认为合适的边距。

有关如何样式打印HTML破败,这种碎杂志的文章可以提供一些指针:Printing the Web: Solutions and Techniques

1

的w3schools.com有一个方便的CSS Reference。由于我们大多数人不记得许多不常见的CSS属性,希望这对你有用。

3

浏览器对打印的支持最多也很弱。例如,让页面头像这样的东西工作起来会非常粗糙;我不知道甚至支持“@page”CSS声明的浏览器,更不用说CSS3的正在运行的内容功能。另一方面,用于Java的FlyingSaucer PDF工具包在将XHTML转换为PDF(尤其是免费)方面做得非常出色。我们将它与Freemarker一起使用来模板化“页面”,但它处理图像,运行页眉/页脚文本,甚至是文档内链接。

1

您无法从浏览器获取像素级打印精度。您唯一的选择是PDF或类似的第三方文档格式。但是,如果您只想确保页面顶部的标识与下一页的底部相对应,则可以使用页面中断前,页面中断后属性

2

我不确定是什么您正在使用的服务器语言,但对于Ruby on Rails,wkhtmltopdfwicked_pdf取得了巨大成功。