Im, используя ITextSharp для создания PDF-файла и имеет ситуацию, когда необходимо использовать DirectContent через ColumnText.Запись в DirectContent с ColumnText не обновляет PdfDocument.GetVerticalPosition
Проблема в том, что после ввода текста через объект ColumnText объект PdfDocument.GetVerticalPosition не обновлен? Смотрите следующий тест, который терпит неудачу:
public void TestGetVerticalPositionIsUpdated()
{
PdfContentByte cb = Writer.DirectContent;
var columnText = new ColumnText(cb);
float position1 = Writer.GetVerticalPosition(true);
columnText.SetSimpleColumn(Document.Left,
Document.Bottom,
Document.Right,
position1,
0,
Element.ALIGN_JUSTIFIED);
columnText.AddText(new Phrase("Test test test test test\nTest test test test test"));
columnText.Go();
float position2 = Writer.GetVerticalPosition(true);
Assert.AreEqual(position1, position2);
}
там так или иначе сказать либо писатель или документ, чтобы обновить документы currentHeight.
obvoius раствор использовать PdfDocument.SetVerticalPosition, если он существовал только :-)
Или я недопонимание всей концепции использования DirectContent?
Мне кажется, что вы не можете использовать PdfDocument.Add после добавления контента в DirectContent, если текущая позиция Y в документе не может быть обновлена или не обновляется автоматически.