在新页面上继续列时删除换行符

时间:2013-10-22 23:22:10

标签: itextsharp itext

我正在使用iTextSharp动态生成PDF。我在文本模式中使用ColumnText类,使用ColumnText.SetColumns()方法使用以下代码定义列边界:

myColumnText.SetColumns(leftCoords, rightCoords)

myColumnText.AddText(New Chunk("Lorem ipsum..."))
myColumnText.AddText(Chunk.NEWLINE))
myColumnText.AddText(Chunk.NEWLINE))
myColumnText.AddText(New Chunk("Lorem ipsum..."))
myColumnText.AddText(Chunk.NEWLINE))
myColumnText.AddText(Chunk.NEWLINE))

如您所见,我发出一个文本块然后两个Chunk.NEWLINE来添加段落之间的空格。

然后我使用ColumnText.Go发出内容,根据需要创建新页面,如下所示:

While ColumnText.HasMoreText(myColumnText.Go())
    myDocument.NewPage()

    myColumnText.SetColumns(leftCoords, rightCoords)
End While

我遇到的问题是,根据ColumnText对象中的内容,分页可能会出现在一大块文本的末尾但在Chunk.NEWLINE之前,这意味着下一页的内容以两个Chunk.NEWLINE开头,而不是页面顶部。

如果它们是新页面上发出的第一个东西,有没有办法以某种方式抑制Chunk.NEWLINE?我的想法是,如果我能够以某种方式看到即将由ColumnText.Go发出的文本,我可以看到我是否即将发出Chunk.NEWLINE并将其从内容流中移除或者某事......

由于

0 个答案:

没有答案