【问题标题】:IText 2 + Flying Saucer: how to avoid that the images appears broken between two pdf's pages?IText 2 + Flying Saucer:如何避免两个pdf页面之间的图像出现中断?
【发布时间】:2023-03-14 15:12:01
【问题描述】:

我有一个 html 文件,我正在使用带有飞碟的 Itext 2 将其转换为 pdf 文件。

问题在于,如果图像在页面末尾附近开始,飞碟会将其中的一部分渲染到当前页面的末尾,而将其余部分渲染到下一页的开头。

如何说我只想要一页上的整个图像?

【问题讨论】:

    标签: pdf-generation itext flying-saucer


    【解决方案1】:

    您可以将其添加到您的打印 css:

    img {
      page-break-inside: avoid;
    }
    

    user guide (PDF) 提到了它。

    【讨论】:

    • Adam - 我注意到你是飞碟问题的顶级发帖人之一 - 我已经为 iText/飞碟问题创建了一个聊天室,因为我厌倦了在上面发布问题- 我想知道你是否介意看一下 - chat.stackoverflow.com/rooms/8945/itext
    【解决方案2】:

    我有同样的问题,但是

    img {page-break-inside: avoid;}
    

    不是最终解决方案。是的,它对结果有影响,在某些情况下它有效,但并非总是如此。 以下是有关相同或类似问题的更多详细信息。 Similar problem

    【讨论】:

      【解决方案3】:

      FlyingSaucer 中似乎存在导致 page-break-inside 出现问题的错误:避免。

      当 css: orphans 出现时,当段落接近页面末尾并且无法在页面上呈现最小行数时,问题就会显现出来。那么block box布局状态机就出现了错误。

      我们已将修复推送到此处:https://github.com/krokiet/flyingsaucer/tree/master

      在某个时候,我们会提出一个拉取请求,将其合并回主代码库。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-29
        • 2012-05-13
        • 2011-11-17
        • 1970-01-01
        • 1970-01-01
        • 2023-03-03
        相关资源
        最近更新 更多