Vb.net iTextSharp:即使存在';当前页面中的空白

Vb.net iTextSharp:即使存在';当前页面中的空白,vb.net,itext,Vb.net,Itext,我有一个有两个单元格的PDFPTable。 第一个有一行。第二个有100行。 第二个单元格转到新页面,但我希望它在第一个单元格之后开始 Dim cFile As String = "c:\temp\ccc.pdf" Dim doc = New Document(PageSize.A4) Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(cFile, FileMo

我有一个有两个单元格的PDFPTable。 第一个有一行。第二个有100行。 第二个单元格转到新页面,但我希望它在第一个单元格之后开始

        Dim cFile As String = "c:\temp\ccc.pdf"

        Dim doc = New Document(PageSize.A4)
        Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(cFile, FileMode.Create))
        doc.Open()
        Dim oPdf As PdfContentByte = writer.DirectContent


        Dim baseFont As BaseFont = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, False)
        Dim baseFontBold As BaseFont = BaseFont.CreateFont(BaseFont.TIMES_BOLD, BaseFont.CP1252, False)

        Dim courier As New Font(baseFont, 12)
        Dim bold As New Font(baseFontBold, 12, Font.Bold, Color.RED)

        Dim tb0 As New PdfPTable(1)
        Dim cell0 As New PdfPCell
        Dim ch0 As New Chunk("AA")
        Dim ph0 As New Phrase(ch0)
        cell0.AddElement(ph0)
        tb0.AddCell(cell0)

        'Dim tb1 As New PdfPTable(1)
        Dim cell1 As New PdfPCell
        For i = 1 To 100
            Dim ch1 As New Chunk("CIAO")
            Dim ph1 As New Phrase(ch1)
            cell1.AddElement(ph1)

        Next

        tb0.AddCell(cell1)


        doc.Add(tb0)
        'doc.Add(tb1)


        doc.Close()

我希望第二个单元格保留在第一页,但实际转到新页,即添加

tb0.SplitLate = False
以前

doc.Add(tb0)


如果
SplitLate
True
(默认情况下是这样),iText会尝试通过尽可能长时间延迟拆分来防止不必要地拆分表行,即尽可能晚地拆分它们。特别是,如果新行开始于一个已经有内容的页面,而该行不完全适合,则iText首先开始一个新页面并在新页面上绘制该行。

在您的表上设置
tb0
False
,即添加

tb0.SplitLate = False
以前

doc.Add(tb0)


如果
SplitLate
True
(默认情况下是这样),iText会尝试通过尽可能长时间延迟拆分来防止不必要地拆分表行,即尽可能晚地拆分它们。特别是,如果一个新行开始于一个已经有内容的页面,而该行不完全适合,iText会首先开始一个新页面,并在新页面上绘制该行。

我的回答对您有足够的帮助吗?还是还有悬而未决的问题?我的回答对你有足够的帮助吗?还是仍有悬而未决的问题?