''
'' This code is part of Document Solutions for Word demos.
'' Copyright (c) MESCIUS inc. All rights reserved.
''
Imports System.Globalization
Imports GrapeCity.Documents.Word
Imports GrapeCity.Documents.Word.Fields
'' This sample shows how to use the PAGE and NUMPAGES field options
'' to insert the current and total page numbers into the document.
Public Class PageFieldOpts
Function CreateDocx() As GcWordDocument
Dim doc = New GcWordDocument()
Dim pgOptHeader = New PageFieldOptions(doc)
pgOptHeader.NumberStyle = NumberStyle.Decimal
Dim pgOptBody = New PageFieldOptions(doc)
pgOptBody.NumberStyle = NumberStyle.UpperRoman
Dim numpagesOpt = New NumPagesFieldOptions(doc)
numpagesOpt.NumberStyle = NumberStyle.Decimal
Dim para = doc.Body.Sections.First.Headers(HeaderFooterType.Primary).Body.AddParagraph("Page header - page ")
para.AddComplexField(pgOptHeader)
para.AddRun(" of ")
para.AddComplexField(numpagesOpt)
Dim pageStyle = doc.Styles(BuiltInStyleId.IndexHeading)
Dim rnd = Util.NewRandom()
Dim i As Integer = 0
Do While i < rnd.Next(6, 12)
Dim p = doc.Body.AddParagraph("This text is on page ", pageStyle)
p.AddComplexField(pgOptBody)
p.AddRun(" of ")
p.AddComplexField(numpagesOpt)
p.GetRange().Runs.Add(".")
Dim par = Util.LoremIpsumPar()
doc.Body.AddParagraph(par)
i += 1
Loop
doc.UpdateFields(New GrapeCity.Documents.Word.Layout.WordLayoutSettings() With {
.FontCollection = Util.FontCollection,
.Culture = CultureInfo.GetCultureInfo("en-US")
})
Return doc
End Function
End Class