iTextsharp - нарисуйте линию в конце и начале страницы с таблицами

Выбирая записи из таблицы, я создаю таблицы iTextsharp по одной на каждую первую букву записей

На картинке стол для буквы "G":

«G» - это ряд из 6 ячеек

Затем ряд из 6 ячеек с «заголовками»

а затем строки с записями

Ячейки строк нуждаются только в левой и правой границе.

Но мне нужно нарисовать или «закрыть» линию для последнего ряда страницы, а также нарисовать или «открыть» линию первого ряда следующей страницы.

Я прочитал много постов, но я не могу понять это решение

Я знаю, как нарисовать графическую линию и как найти координаты или как установить нижнюю или верхнюю границу, но я не знаю, как определить разрыв страницы или могу ли я справиться с этой ситуацией с помощью принудительных нижних или нижних колонтитулов только в случаях как на картинке.

Код класса, адаптированный к VB Спасибо COeDev за поддержку

Теперь мне нужно только разрешить прямоугольник (или нарисовать линию), потому что это не то же самое в VB.NET (строки помечены как комментарии)

Imports iTextSharp.text.pdf

Public Class LineaBottom
Implements IPdfPTableEvent

Public Sub TableLayout(table As PdfPTable, widths As Single()(), heights() As Single, headerRows As Integer, rowStart As Integer, canvases() As PdfContentByte) Implements IPdfPTableEvent.TableLayout
    'Throw New NotImplementedException()

    Dim columns As Integer
    Dim rect As Rectangle
    Dim footer As Integer = widths.Length - table.FooterRows
    Dim header As Integer = table.HeaderRows - table.FooterRows + 1
    Dim ultima As Integer = footer - 1

    If ultima <> -1 Then

        columns = widths(ultima).Length - 1
        rect = New Rectangle(widths(ultima)(0), heights(ultima), widths(footer - 1)(columns), heights(ultima + 1))
        'rect.BorderColor = BaseColor.BLACK
        'rect.BorderWidth = 1
        'rect.Border = Rectangle.TOP_BORDER
        'canvases(PdfPTable.BASECANVAS).Rectangle(rect)

    End If
End Sub

Я надеюсь, что этот кодекс будет служить другим людям, потому что в Интернете не так много информации

Ответы на вопрос(2)

Ваш ответ на вопрос