Я недавно начал использовать iTextSharp для создания отчетов PDF из данных. Это работает довольно хорошо.
В одном конкретном отчете мне нужен раздел, который всегда должен отображаться внизу страницы. Я использую PdfContentByte для создания пунктирной линии 200f снизу:
cb.MoveTo(0f, 200f);
cb.SetLineDash(8, 4, 0);
cb.LineTo(doc.PageSize.Width, 200f);
cb.Stroke();
Теперь я хотел бы вставить контент ниже этой строки. Однако (как и ожидалось) методы PdfContentByte не изменяют вертикальное положение PdfWriter. Например, новые абзацы появляются ранее на странице.
// appears wherever my last content was, NOT below the dashed line
doc.Add(new Paragraph("test", _myFont));
Есть ли какой-нибудь способ проинструктировать pdfwriter о том, что я хотел бы теперь переместить вертикальное положение ниже пунктирной линии и продолжить вставлять туда содержимое? Существует метод GetVerticalPosition () - было бы хорошо, если бы был соответствующий Setter: -).
// Gives me the vertical position, but I can't change it
var pos = writer.GetVerticalPosition(false);
Итак, есть ли способ установить положение автора вручную? Спасибо!