Columns.vb
C# VB
'''' This code is part of Document Solutions for Word demos.'' Copyright (c) MESCIUS inc. All rights reserved.''Imports GrapeCity.Documents.Word
'' Shows how to create a document with multi-column layout.Public Class Columns Public Function CreateDocx() As GcWordDocument
Dim Inch As Single = 72 Dim doc = New GcWordDocument()
Dim sec1 = doc.Body.Sections.First
sec1.PageSetup.TextColumns.Add()
Dim pars1 = sec1.GetRange().Paragraphs pars1.Add("Section 1, Paragraph 1: " + LoremIpsumPar()) pars1.Add("Section 1, Paragraph 2: " + LoremIpsumPar()) pars1.Add("Section 1, Paragraph 3: " + LoremIpsumPar())
Dim sec2 = doc.Body.Paragraphs.Last.AddSectionBreak() sec2.PageSetup.Margin.Left = Inch / 2 sec2.PageSetup.Margin.Right = Inch / 2 sec2.PageSetup.Margin.Top = Inch / 2 sec2.PageSetup.Margin.Bottom = Inch / 2
'' For the 2nd section, change page orientation: sec2.PageSetup.Size.Orientation = PageOrientation.Landscape
'' Add 3 manually laid out columns: '' - First is 2" wide '' - 2nd and 3rd equally sharing the remaining space Dim pw = sec2.PageSetup.ClientWidth Dim space = sec2.PageSetup.TextColumns(0).SpaceAfter Dim c0w = Inch * 2 Dim cw = (pw - c0w - space * 2) / 2 sec2.PageSetup.TextColumns(0).Width = Inch * 2 sec2.PageSetup.TextColumns.Add(cw) sec2.PageSetup.TextColumns.Add(cw)
Dim pars2 = sec2.GetRange().Paragraphs pars2.Add("Section 2, Paragraph 1 followed by a column break.") pars2.Last.GetRange().Runs.Last.GetRange().Texts.AddBreak(BreakType.Column)
pars2.Add("Section 2, Paragraph 2: " + LoremIpsumPar()) pars2.Add("Section 2, Paragraph 3: " + LoremIpsumPar())
'' Done: Return doc End FunctionEnd Class