Я подозреваю, что к тому времени, когда вы внедрите инструмент для этого, вы могли бы завершить его с помощью метода следов и ошибок.
Когда я должен был сделать то же самое (используя iTextSharp, как вы), я попытался написать текст в произвольной позиции на форме, скажем, x = 100 и y = 100. Когда я увидел, где это закончилось PDF я настроил. Сделав это немного, вы получите представление о том, в каких координатах должна быть следующая точка.
СОВЕТ № 1:
Помните, что 0, 0 относится к левому нижнему углу вашего документа . По мере увеличения этих чисел ваша позиция в документе увеличивается и направо.
СОВЕТ №2:
Подумайте о том, как содержимое вашего PDF выстраивается по вертикальной и горизонтальной осям. Найдите эти значения и объявите их как константы в вашей программе, а также укажите эти константы в своем коде. Это сокращает количество точек, которые вам нужно найти, и делает вашу программу более удобочитаемой.
Например, в документе, который я строю, есть форма с текстом с количеством строк, проходящих горизонтально (представьте общие значения по оси Y) и прямоугольниками, которые выстраиваются вертикально (подумайте об общих значениях по оси X).
Таким образом, я определил положения оси Y для линий и объявил их так (в C #):
const float Line1Y = 200f;
const float Line2Y = 150f;
//etc.
Я также определил координаты оси X для блоков и объявил их значения по оси X следующим образом:
const float Column1X = 100f;
const float Column2X = 200f;
//etc.
В моем коде, когда пришло время позиционировать мои элементы, я ссылался на константы следующим образом:
content.SetTextMatrix(Column1X, Line1Y);
content.SetTextMatrix(Column2X, Line1Y);
content.SetTextMatrix(Column1X, Line2Y);