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