ParagraphFormatting.cs
// 完毕:
using System;
using System.IO;
using System.Drawing;
using GrapeCity.Documents.Pdf;

namespace DsPdfWeb.Demos.Basics
{
    // 此示例演示了最基本的段落格式选项:
    // - 第一行缩进;
    // - 行间距。
    public class ParagraphFormatting
    {
        public int CreatePDF(Stream stream)
        {
            Func<string> makePara = () => Common.Util.LoremIpsum(1, 5, 10, 15, 30);

            var doc = new GcPdfDocument();
            var g = doc.NewPage().Graphics;
            // 使用 Graphics.CreateTextLayout() 确保 TextLayout 的分辨率
            // 设置为与图形相同的值(默认为 72 dpi):
            var 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;
        }
    }
}