打破页面的正确方法

时间:2014-02-17 10:39:05

标签: php html css resume page-break

我的PHP脚本以HTML格式生成可变大小的文本(Resume)和输出。我需要的是,如果内容超过1页,使用CSS或PHP将页面分解为多个A4大小的页面。问题是,我无法找出解决方案,因为即使我计算内容的字符,也无法用填充边距等计算高度。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

CSS为pages media提供了一些功能(即打印)。

特别是,您可能希望查看page-break-after。当然,这取决于您的页面,但典型用法可能如下所示:

.page {
    page-break-after: always;
}

.page.last {
    page-break-after: avoid;
}

每次.page之后总是会有一个分页符,除非它还有.last类(否则你会得到一个空页)。

或者,您可以使用以下内容进行更细粒度的控制:

.section {
    page-break-inside: avoid;
}

这样可以避免在某个部分的中间断裂。

您可以使用@page为每个页面设置边距:

@page {
    margin: 1cm;
}

请注意,浏览器设置很重要,您可以设置所有影响结果的边距,打印标题等。因此,结果可能因机器而异。无法在文档中设置这些设置。

我还将我的简历作为HTML文档,我高度建议将其分发为PDF(使用PDF打印机),而不是作为网页,这对于任务来说太错误了(你希望它看起来正确 100%的时间,而不是95%的时间。)