C# ITextSharp分页符会创建不需要的空白页

C# ITextSharp分页符会创建不需要的空白页,c#,itextsharp,C#,Itextsharp,背景 我有一个通过各种步骤建立起来的文档 在其中一个步骤中,我从包含内容的章节结构向文档添加内容 这一部分特别简单。它只是将内容添加到文档中 有时,我的结构指定应该有一个分页符,因此document.NewPage();被执行。这通常是有效的 我们正在使用ITextSharp版本5.3.2.0。(几个月左右) 问题 当执行document.NewPage()get时,非常接近文档的结尾,或者我猜刚刚进入一个新页面,我会得到一个空页面,其余内容将添加到下一页 目前只有文档可供使用,我似乎无法找到一

背景

我有一个通过各种步骤建立起来的文档

在其中一个步骤中,我从包含内容的章节结构向文档添加内容

这一部分特别简单。它只是将内容添加到文档中

有时,我的结构指定应该有一个分页符,因此document.NewPage();被执行。这通常是有效的

我们正在使用ITextSharp版本5.3.2.0。(几个月左右)

问题

当执行document.NewPage()get时,非常接近文档的结尾,或者我猜刚刚进入一个新页面,我会得到一个空页面,其余内容将添加到下一页

目前只有文档可供使用,我似乎无法找到一种方法来确定是否应跳过Document.NewPage()以解决此错误或问题


谢谢

这可能是由三件事引起的:

  • 您使用的是非常旧版本的iTextSharp。如果是,请升级到更新版本的iTextSharp。我们不修复过时的版本
  • 您使用的是页面事件,与文档中建议的相反,您正在
    onStartPage()
    方法中添加内容
  • 您正在使用
    writer.setPageEmpty(false)它要求ITEXT将一个空页看作不是空的。

  • 在所有其他情况下,如果您当前所在的页面没有任何内容,则会忽略newPage()方法。

    我们使用的是版本我们使用的是ITextSharp版本5.3.2.0。当我们开始时,我没有时间读整本书。肯定错过了上面提到的不应使用onStartPage方法添加内容的部分。这似乎是一个新的案例,在我们的报告中是罕见的,但却是一个重要的案例。谢谢你的回答。将需要一些测试和重构。为了看看是否只有onStartPage()方法让我头疼,我将该方法中的代码移到了OnEndPage()方法中。感觉像是一个远射,但我不得不尝试,因为它是一个快速修复,如果它会工作。有趣的是,它似乎起了作用!谢谢你的反馈。我很高兴看到问题解决了。