Я использую следующий код для создания PDF с заголовком, где слева находится изображение, а затем информация о документе справа от изображения:
var header = section.Headers.Primary.AddTable();
header.AddColumn("1in");
header.AddColumn("6in");
var headerRow = header.AddRow();
headerRow.HeadingFormat = true;
var logo = headerRow.Cells[0].Elements.AddImage(@"...image.png");
logo.Width = "48pt";
logo.LockAspectRatio = true;
logo.RelativeVertical = RelativeVertical.Line;
logo.RelativeHorizontal = RelativeHorizontal.Margin;
logo.Top = ShapePosition.Top;
logo.Left = ShapePosition.Left;
logo.WrapFormat.Style = WrapStyle.TopBottom;
headerRow.Cells[1].Elements.AddParagraph($"Approved{Environment.NewLine}Generation Timestamp: {DateTime.Now:yyyy-MM-dd hh:mm:ss tt}");
var documentDetails = headerRow.Cells[1].Elements.AddParagraph();
var sentenceParts = new Dictionary<string, string>
{
{ "Name: ", "Smith, John" },
{ "Date Of Birth: ", "1999-01-01" },
{ "ID: ", "123456" }
};
var boldedFont = new Font(document.Styles.Normal.Font.Name, 6) {Bold = true};
var unboldedFont = new Font(document.Styles.Normal.Font.Name, 6);
foreach (var sentencePart in sentenceParts)
{
documentDetails.AddFormattedText(sentencePart.Key + " ", boldedFont);
documentDetails.AddFormattedText(sentencePart.Value + " ", unboldedFont);
}
Это прекрасно работает в что документ выглядит так, как я ожидаю. Проблема начинается с того, что я пытаюсь потом добавить текст в тело документа, используя следующее:
section.AddParagraph("Here is some test text that should appear after the header.");
В результате текст появляется поверх заголовка, а не вверху внизу заголовка, что это то, что я ожидал. Что мне не хватает? Разве высота заголовка документа не рассчитывается, чтобы соответствовать размеру его содержимого?