ParagraphAlign.cs
// // This code is part of Document Solutions for PDF demos. // Copyright (c) MESCIUS inc. All rights reserved. // using System; using System.Drawing; using System.IO; using GrapeCity.Documents.Pdf; using GrapeCity.Documents.Text; namespace DsPdfWeb.Demos.Basics { // This sample demonstrates paragraph alignment options // (top/center/justified/bottom for horizontal LTR text). public class ParagraphAlign { public int CreatePDF(Stream stream) { var doc = new GcPdfDocument(); var page = doc.NewPage(); var g = page.Graphics; var tl = g.CreateTextLayout(); tl.DefaultFormat.Font = StandardFonts.Times; tl.DefaultFormat.FontSize = 12; var borderColor = Color.FromArgb(217, 217, 217); var h = (page.Size.Height - 72) / 5; var bounds = new RectangleF(36, 36, page.Size.Width - 72, h); tl.MaxWidth = bounds.Width; tl.MaxHeight = bounds.Height; var para = Common.Util.LoremIpsum(1, 5, 5, 10, 12); // 1: ParagraphAlignment.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: ParagraphAlignment.Center 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: ParagraphAlignment.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: ParagraphAlignment.Distributed 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: ParagraphAlignment.Far 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); // Done: doc.Save(stream); return doc.Pages.Count; } } }