ParagraphAlign.vb
'' 完毕:
Imports System.IO
Imports System.Drawing
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Text
Imports GrapeCity.Documents.Drawing

'' 此示例演示了段落对齐选项
'' (水平 LTR 文本的顶部/中心/对齐/底部)。
Public Class ParagraphAlign
    Function CreatePDF(ByVal stream As Stream) As Integer
        Dim doc = New GcPdfDocument()
        Dim page = doc.NewPage()
        Dim g = page.Graphics
        Dim tl = g.CreateTextLayout()
        tl.DefaultFormat.Font = StandardFonts.Times
        tl.DefaultFormat.FontSize = 12
        Dim borderColor = Color.FromArgb(217, 217, 217)

        Dim h = (page.Size.Height - 72) / 5
        Dim bounds = New RectangleF(36, 36, page.Size.Width - 72, h)

        tl.MaxWidth = bounds.Width
        tl.MaxHeight = bounds.Height

        Dim para = Util.LoremIpsum(1, 5, 5, 10, 12)

        '' 1:段落对齐方式.Near
        tl.ParagraphAlignment = ParagraphAlignment.Near
        tl.Append("ParagraphAlignment.Near: ")
        tl.Append(para)
        tl.PerformLayout(True)
        g.DrawTextLayout(tl, bounds.Location)
        g.DrawRectangle(bounds, borderColor)

        '' 2:段落对齐方式.居中
        bounds.Offset(0, h)
        tl.Clear()
        tl.ParagraphAlignment = ParagraphAlignment.Center
        tl.Append("ParagraphAlignment.Center: ")
        tl.Append(para)
        tl.PerformLayout(True)
        g.DrawTextLayout(tl, bounds.Location)
        g.DrawRectangle(bounds, borderColor)

        '' 3:段落对齐方式.Justified
        bounds.Offset(0, h)
        tl.Clear()
        tl.ParagraphAlignment = ParagraphAlignment.Justified
        tl.Append("ParagraphAlignment.Justified: ")
        tl.Append(para)
        tl.PerformLayout(True)
        g.DrawTextLayout(tl, bounds.Location)
        g.DrawRectangle(bounds, borderColor)

        '' 4:段落对齐.分布式
        bounds.Offset(0, h)
        tl.Clear()
        tl.ParagraphAlignment = ParagraphAlignment.Distributed
        tl.Append("ParagraphAlignment.Distributed: ")
        tl.Append(para)
        tl.PerformLayout(True)
        g.DrawTextLayout(tl, bounds.Location)
        g.DrawRectangle(bounds, borderColor)

        '' 5:段落对齐.远
        bounds.Offset(0, h)
        tl.Clear()
        tl.ParagraphAlignment = ParagraphAlignment.Far
        tl.Append("ParagraphAlignment.Far: ")
        tl.Append(para)
        tl.PerformLayout(True)
        g.DrawTextLayout(tl, bounds.Location)
        g.DrawRectangle(bounds, borderColor)
        ''
        '' 完毕:
        doc.Save(stream)
        Return doc.Pages.Count
    End Function
End Class