打印时进行分页符的CSS代码是什么?或者更好的是,有一些像JQuery这样的打印CSS框架是对网页DOM操作吗?我需要打印像Adobe PDF这样的控件的网页,但不使用第三方插件。打印需要精确,比如控制每个页面顶部的像素,(例如,如果我们想在每个页面标题上放置我们的徽标。
有什么想法吗?
答案 0 :(得分:15)
page-break-before: always;
page-break-after: always;
答案 1 :(得分:5)
您可以尝试使用page-break-before or page-break-after属性强制分页。
像素完美的打印控制将非常非常难以实现。例如,每个浏览器都会添加一个您无法影响的页脚和页眉部分,只有用户才能关闭。浏览器忽视背景图像,并倾向于设置他们认为合适的边距。
关于如何为打印HTML设置样式的概述,这篇Smashing Magazine文章可能会提供一些指示:Printing the Web: Solutions and Techniques
答案 2 :(得分:3)
浏览器对打印的支持非常弱。例如,像页面标题图像一样工作将会非常粗糙;我不知道任何浏览器甚至支持“@page”CSS声明,更不用说CSS3的运行内容功能了。
另一方面,用于Java的FlyingSaucer PDF工具包在将XHTML转换为PDF方面做得非常出色(特别是考虑到它是免费的)。我们使用它与Freemarker模板化“页面”,但它处理图像,运行页眉/页脚文本,甚至是文档内链接。答案 3 :(得分:2)
我不确定您使用的是哪种服务器语言,但我在Ruby on Rails上使用wkhtmltopdf和wicked_pdf取得了巨大成功。
答案 4 :(得分:1)
w3schools.com有一个方便的CSS Reference。由于我们大多数人都记不起许多不常见的CSS属性,希望这对你有用。
答案 5 :(得分:1)
您无法从浏览器获得像素级打印精度。您唯一的选择是PDF或类似的第三方文档格式。但是,如果您只想确保徽标位于页面顶部而下一页底部,则可以使用page-break-before,page-break-after属性