2016-09-19 3 views
1

Я имею заголовок в этом формате -Issue Выравнивание текста с помощью Image MigraDoc

«Заголовок» «Image» «Название»

Ниже приведен фрагмент кода, я использую для достижения этой цели -

Paragraph header = section.Headers.Primary.AddParagraph("Heading");    
    header.Format.Font.Bold = true; 
    header.AddTab(); 
    Image image = header.AddImage("../../Images/logo.png"); 
    image.Height = Unit.FromMillimeter(6); 
    header.AddFormattedText("Title", TextFormat.NotBold); 

мне нужно выровнять мой «Image» и «Title» таким образом, что заголовок вертикально по центру выровнены по высоте изображения, то как я могу добиться этого?

Любые указатели/фрагменты кода очень ценятся.

ответ

1

Вы можете использовать таблицу, чтобы уместить информацию в определенной структуре:

// create document 
Document MigraDokument = new Document(); 

// create section. 
Section section = MigraDokument.AddSection();    
section.PageSetup.PageFormat = PageFormat.A4; 

// create a table 
Table t = section.AddTable(); 
// size to use for the image and the image cell in the table 
int size = 6; 

// create 3 columns 
Column column_header = t.AddColumn("6cm"); 
column_header.Format.Alignment = ParagraphAlignment.Center; 

Column column_image = t.AddColumn(Unit.FromMillimeter(size)); 
column_image.Format.Alignment = ParagraphAlignment.Center; 

Column column_text = t.AddColumn("4cm"); 
column_text.Format.Alignment = ParagraphAlignment.Center; 

// Add 1 row to fill it with the content 
Row r = t.AddRow(); 

// add you Header 
Paragraph header = r.Cells[0].AddParagraph("Heading"); 
header.Format.Font.Bold = true; 
header.AddTab(); 

// add the image    
Image image = r.Cells[1].AddImage("../../logo.png"); 
image.Height = Unit.FromMillimeter(size); 

// Add your Title 
r.Cells[2].AddParagraph("Title"); 

// allign all of them 
r.Cells[0].VerticalAlignment = VerticalAlignment.Center; 
r.Cells[1].VerticalAlignment = VerticalAlignment.Center; 
r.Cells[2].VerticalAlignment = VerticalAlignment.Center; 

В моем документе результат выглядит следующим:

enter image description here

+0

Спасибо, подход помогло в получении желаемого результата, следовательно, я буду принимать в ответ, был бы счастливее, если бы это могло быть достигнуто без использования таблицы и с помощью некоторых свойств выравнивания «Image» и «Para Текст "(если есть) – Ashutosh

0

Благодаря @MongZhu предложившего в виде таблицы, отправляя фрагмент кода, который я использую сейчас только для справок в будущем.

 Table table = section.Headers.Primary.AddTable(); 
     table.AddColumn("11cm"); 
     table.AddColumn("2cm"); 
     table.AddColumn("8cm"); 

     Row row = table.AddRow(); 
     row.VerticalAlignment = VerticalAlignment.Center; 
     Paragraph header = row.Cells[0].AddParagraph("Heading"); 
     header.Format.Font.Bold = true;       
     Image image = row.Cells[1].AddImage("../../Images/logo.png"); 
     image.Height = Unit.FromMillimeter(6); 
     row.Cells[2].AddParagraph("Title"); 
Смежные вопросы