2016-07-20 3 views
0

Код ниже предназначен для добавления изображения и даты в заголовок страницы, а затем заполнить страницу некоторым текстом (например, один заголовок и пара абзацев) ,Нажимайте пункты вниз, чтобы не накладываться на заголовок страницы в MigraDoc 1.5b3

Проблема заключается в том, что текст перекрывает заголовок страницы, он начинается с той же высоты, что и параграф даты даты в заголовке страницы. Что я делаю не так?

Section section = document.AddSection(); 
section.PageSetup.StartingNumber = 1; 

Image image = section.Headers.Primary.AddImage(GetImageFromDB("LogoPageHeader")); // creates base64 encoded image string 
image.LockAspectRatio = true; 
image.RelativeVertical = RelativeVertical.Line; 
image.RelativeHorizontal = RelativeHorizontal.Margin; 
image.Top = ShapePosition.Top; 
image.Left = ShapePosition.Left; 
image.WrapFormat.Style = WrapStyle.TopBottom; // to push date stamp to below the bottom of the image 

HeaderFooter header = section.Headers.Primary; 
Paragraph paragraph = header.AddParagraph(DateTime.Now.ToString("MM/dd/yyyy")); 
paragraph.Format.Alignment = ParagraphAlignment.Right; 

Paragraph paragraph = document.LastSection.AddParagraph("Question Summary:", "Heading3"); 

paragraph = document.LastSection.AddParagraph(); 
paragraph.Format.Alignment = ParagraphAlignment.Left; 
paragraph.AddText("Question: " + q.Text.Trim()); 

paragraph = document.LastSection.AddParagraph(); 
paragraph.Format.Alignment = ParagraphAlignment.Left; 
paragraph.AddText("Answer: " + (String.IsNullOrEmpty(q.ReplyText.Trim()) ? q.ReplyCode.ToString() : q.ReplyText.Trim())); 
paragraph.Format.SpaceAfter = "8pt"; 

Изображение около 20x20mm.

ответ

1

Вы должны установить TopMargin из PageSetup, чтобы зарезервировать место для заголовка.

Смотрите также:
http://forum.pdfsharp.net/viewtopic.php?p=3077

+0

Просто, чтобы сохранить связанный код: 'section.PageSetup.BottomMargin = Unit.FromCentimeter (х)' – ajeh