TabsAlignment.vb
 '' '' This code is part of Document Solutions for PDF demos. '' Copyright (c) MESCIUS inc. All rights reserved. '' Imports System.IO Imports System.Drawing Imports GrapeCity.Documents.Pdf Imports GrapeCity.Documents.Text Imports GrapeCity.Documents.Drawing '' This sample demonstrates how to use TextLayout.TabStops to render columns '' of floating point numbers aligned in different ways: '' - aligned on the decimal point via TabStopAlignment.Separator '' - left-aligned on the tab position using TabStopAlignment.Leading '' - centered around the tab position using TabStopAlignment.Center '' - right-aligned on the tab position using TabStopAlignment.Trailing. Public Class TabsAlignment Function CreatePDF(ByVal stream As Stream) As Integer '' Create and set up the document: Dim doc = New GcPdfDocument() Dim page = doc.NewPage() Dim g = page.Graphics '' Create and set up a TextLayout object to print the text: Dim tl = g.CreateTextLayout() tl.MaxWidth = page.Size.Width tl.MaxHeight = page.Size.Height tl.MarginLeft = 36 tl.MarginRight = 36 tl.MarginTop = 36 tl.MarginBottom = 36 tl.DefaultFormat.Font = StandardFonts.Times tl.DefaultFormat.FontSize = 10 tl.DefaultFormat.BackColor = Color.FromArgb(217, 217, 217) '' Add tab stops with different alignment types '' (the 1st ctor creates a TabStopAlignment.Separator TabStop): tl.TabStops = New List(Of TabStop)() From { New TabStop(72, "."c), New TabStop(72 * 2.5F, TabStopAlignment.Leading), New TabStop(72 * 5, TabStopAlignment.Center), New TabStop(72 * 7.5F, TabStopAlignment.Trailing) } '' Render sample text: tl.Append($"TabStopAlignment:{vbCrLf}{vbTab}Separator '.'{vbTab}Leading{vbTab}Center{vbTab}Trailing{vbCrLf}") Dim v0 As Double = 1 Dim q As Double = (1 + Math.Sqrt(5)) / 2 For i = 1 To 50 tl.Append($"{vbTab}{v0:R}{vbTab}{v0:R}{vbTab}{v0:R}{vbTab}{v0:R}{vbCrLf}") v0 *= q Next tl.PerformLayout(True) '' Draw the text and images: g.DrawTextLayout(tl, PointF.Empty) '' '' Done: doc.Save(stream) Return doc.Pages.Count End Function End Class