【问题标题】:knp_snappy page break in generated PDF生成的 PDF 中的 knp_snappy 分页符
【发布时间】:2016-01-05 21:34:58
【问题描述】:

我正在开发 Symfony2 项目以从 HTML 视图生成 PDF。以下来自 config.yml

knp_snappy:
pdf:
    enabled:    true
    binary:     /path/to/my/wkhtmltopdf
    options:
        no-stop-slow-scripts: ~
        enable-javascript: ~
        use-xserver: ~
        page-size: A4
        dpi: 300

现在我想知道 DIV 是否在页面边缘重叠,如果是,则在 DIV 之前添加分页符。目前显示如下。

我尝试获取 DIV 的高度并将其与页面高度进行比较,但没有成功。

是否有任何解决方案可以知道 DIV 何时重叠或在某些内容重叠时自动打破页面?

【问题讨论】:

    标签: symfony wkhtmltopdf


    【解决方案1】:

    尝试将样式“page-break-inside”添加到您的 div:

    <div style="page-break-inside: avoid;">
        ... content ...
    </div>
    

    wkhtmltopdf 使用 webkit 引擎。这一事实允许您使用样式来控制 PDF 的外观。

    【讨论】:

    • 我已经试过了,page-break-inside。但它似乎不起作用,可能无法确定特定 DIV 何时重叠。
    • 这解决了我的问题。我正在为分页符提供“自动”,“避免”就像一个魅力!
    • 我已经为此奋斗了好几个小时!!!这完全让我开心。谢谢
    • 仅供参考,我认为如果父母有display: flex stackoverflow.com/questions/34534231/…,这将不起作用
    【解决方案2】:

    我使用 Bootstrap 进行布局样式。 只做分页符(对我来说):

    <p style="page-break-after: always;"/>
    <br/>
    

    【讨论】:

    • “没有效果”是什么意思?
    • @EmilVikström 抱歉,我更新了我的答案。我从代码中复制了错误的答案。
    猜你喜欢
    • 2019-12-25
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2022-11-01
    • 2018-10-18
    相关资源
    最近更新 更多