'''' This code is part of Document Solutions for PDF .NET demos.'' Copyright (c) MESCIUS inc. All rights reserved.''ImportsSystem.IOImportsSystem.DrawingImportsGrapeCity.Documents.PdfImportsSystem.Numerics '' Shows how to use GcPdfGraphics.Transform to rotate a text string.'' See also RotatedText2.PublicClassRotatedTextFunctionCreatePDF(ByVal stream AsStream) AsInteger'' Rotation angle, degrees clockwise:Dim angle = -45.0F''Dim doc = NewGcPdfDocument()Dim g = doc.NewPage().Graphics'' Create a text layout, pick a font and font size:Dim tl = g.CreateTextLayout() tl.DefaultFormat.Font = StandardFonts.Times tl.DefaultFormat.FontSize = 24'' Add a text, and perform layout: tl.Append("Rotated text.") tl.PerformLayout(True)'' Text insertion point at (1",1"):Dim ip = NewPointF(72, 72)'' Now that we have text size, create text rectangle with top left at insertion point:Dim rect = NewRectangleF(ip.X, ip.Y, tl.ContentWidth, tl.ContentHeight)'' Rotate the text around its bounding rect's center:'' we now have the text size, and can rotate it about its center: g.Transform = Matrix3x2.CreateRotation((angle * Math.PI) / 180.0F, NewVector2(ip.X + tl.ContentWidth / 2, ip.Y + tl.ContentHeight / 2))'' Draw rotated text and bounding rectangle: g.DrawTextLayout(tl, ip) g.DrawRectangle(rect, Color.Black, 1)'' Remove rotation and draw the bounding rectangle where the non-rotated text would have been: g.Transform = Matrix3x2.Identity g.DrawRectangle(rect, Color.ForestGreen, 1)'''' Done: doc.Save(stream)Return doc.Pages.CountEndFunctionEndClass