gpt4 book ai didi

html - 找出浏览器在打印时插入分页符的位置

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:18 24 4
gpt4 key购买 nike

我试图弄清楚浏览器(特别是 firefox 或 chrome)在打印或打印预览 HTML 文档时会在何处插入分页符。现在我不想避免休息,也不想定义休息的确切位置。我知道 CSS 2.1 和 CSS 3.0 中定义的 page-break-* 元素。我真的很想找出当前页面的最后一个元素和下一页的第一个元素,并将它们与实际的 HTML 代码相关联。

据我所知,没有我可以注册的事件或信号。接下来我想到的是修补 webkit 或 gecko 并添加自定义信号/事件。但这只有在分页符代码没有散布在太多文件和成员上时才有可能。

我并不是要一个完整的解决方案,而是要任何想法或提示如何实现这一点。

提前感谢您的任何建议和想法:)

更新:我需要以编程方式找出分页符的位置,因为我想根据结果修改和操作原始 HTML 文件。

最佳答案

你到底想达到什么目的?您可以根据分页符以及页面是否仅使用带有 media queries 的 CSS 来打印页面。 .

如果 CSS 不足以满足您的用例,并且修补渲染器是一个合适的解决方案:在 Gecko 上,您可以 grep nsCSSFrameConstructor.cpp用于调用 AddPageBreakItem,然后找出插入中断的位置。分页的 nsPresContext 意味着这是一个用于打印或打印预览的框架。查找对 nsPresContext::IsPaginated 和 nsPresContext::IsRootPaginatedDocument 的调用。

关于html - 找出浏览器在打印时插入分页符的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13346219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com