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

'' 此示例演示了最基本的段落格式选项:
'' - 第一行缩进;
'' - 行间距。
Public Class ParagraphFormatting
    Function CreatePDF(ByVal stream As Stream) As Integer

        Dim makePara As Func(Of String) =
            Function()
                Return Util.LoremIpsum(1, 5, 10, 15, 30)
            End Function

        Dim doc = New GcPdfDocument()
        Dim g = doc.NewPage().Graphics
        '' 使用 Graphics.CreateTextLayout() 确保 TextLayout 的分辨率
        '' 设置为与图形相同的值(默认为 72 dpi):
        Dim tl = g.CreateTextLayout()
        '' 默认字体:
        tl.DefaultFormat.Font = StandardFonts.Times
        tl.DefaultFormat.FontSize = 12
        '' 将 TextLayout 设置为整个页面:
        tl.MaxWidth = doc.PageSize.Width
        tl.MaxHeight = doc.PageSize.Height
        '' ...并让它管理页边距(周围 1 英寸):
        tl.MarginAll = tl.Resolution
        '' 第一行偏移 1/2":
        tl.FirstLineIndent = 72 / 2
        '' 1.5行距:
        tl.LineSpacingScaleFactor = 1.5F
        ''
        tl.Append(makePara())
        tl.PerformLayout(True)
        '' 在 (0,0) 渲染文本(边距由 TextLayout 添加):
        g.DrawTextLayout(tl, PointF.Empty)
        ''
        '' 完毕:
        doc.Save(stream)
        Return doc.Pages.Count
    End Function
End Class