有没有办法用javascript(打印媒体)进行分页?

时间:2014-11-19 21:50:28

标签: javascript css printing media-queries page-break

page-break-inside: avoid的浏览器支持效果不佳。有很多场景没有应用它。就我而言,它是一个嵌套的Flexbox flex-wrap

有没有办法使用javascript添加分页符?

我可以检测浏览器是否处于打印模式,FF中为onbeforeprint事件,Chrome上为window.watchMedia,但下一步是什么?

我想我需要找出打印的页面大小(以像素为单位),因此我可以确定插入分页符的位置。但window.screen.availHeight返回相同的值且window.print.availHeight不存在:(

假设这可能以某种方式,那我该如何进行分页?

1 个答案:

答案 0 :(得分:0)

你可以尝试计算,A4在宽度和高度之间有一定比例,所以简单地说如果你的打印css使得html / body宽度为900px。可以使用A4比例计算每个打印页面的高度。

因此,您可以添加一个更改布局的print css文件,以便下一页上需要的内容有一个上边距。