ParagraphFormatting.cs
// 
// このコードは、DioDocs for PDF のサンプルの一部として提供されています。
// © MESCIUS inc. All rights reserved.
// 
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.getString_ja(0, 0, 5, 6, 15);

            var doc = new GcPdfDocument();
            var g = doc.NewPage().Graphics;
            // Graphics.CreateTextLayout() を使用すると、TextLayout の解像度は
            // グラフィックスの解像度と同じ値(デフォルトでは 72 dpi)に設定されます。
            var tl = g.CreateTextLayout();
            // デフォルトのフォント。
            tl.DefaultFormat.FontName = "Yu Gothic";
            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);
            // PDF ドキュメントを保存します。
            doc.Save(stream);
            return doc.Pages.Count;
        }
    }
}