The example demonstrates how to draw subscript or superscript text adjusting the text baseline using ByteScout PDF SDK.

Program.vb:
VB

'*******************************************************************
'       ByteScout PDF SDK
'                                                                   
'       Copyright © 2016 Bytescout, http://www.bytescout.com        
'       ALL RIGHTS RESERVED                                         
'                                                                   
'*******************************************************************

Imports Bytescout.PDF

''' <summary>
''' This example demonstrates how to draw subscript or superscript text adjusting the text baseline using.
''' </summary>
Class Program

    Shared Sub Main()

        ' Create new document
        Dim pdfDocument = New Document()
        pdfDocument.RegistrationName = "demo"
		pdfDocument.RegistrationKey = "demo"
        ' Add page
        Dim page = New Page(PaperFormat.A4)
        pdfDocument.Pages.Add(page)


        Dim font = New Font("Arial", 16)
        Dim brush = New SolidBrush()
        Dim stringFormat = New StringFormat()
        Dim xPosition As Single = 20

        ' Draw normal string
        page.Canvas.DrawString("Normal text ", font, brush, xPosition, 50, stringFormat)
        xPosition += font.GetTextWidth("Normal text ")

        ' Draw subscript string 
        stringFormat.Rise = -5
        page.Canvas.DrawString("Subscript", font, brush, xPosition, 50, stringFormat)
        xPosition += font.GetTextWidth("Subscript")

        ' draw superscript string
        stringFormat.Rise = +5
        page.Canvas.DrawString("Superscript", font, brush, xPosition, 50, stringFormat)
        xPosition += font.GetTextWidth("Superscript")

        ' Draw the baseline
        Dim pen = New SolidPen(New ColorRGB(0, 0, 255))
        pen.Opacity = 50
        page.Canvas.DrawLine(pen, 20, 50 + font.Size, xPosition, 50 + font.Size)


        ' Save document to file
        pdfDocument.Save("result.pdf")

        ' Cleanup 
		pdfDocument.Dispose()

        ' Open document in default PDF viewer app
        Process.Start("result.pdf")

    End Sub

End Class 

Program.cs:
C#

//*******************************************************************
//       ByteScout PDF SDK		                                     
//                                                                   
//       Copyright © 2016 ByteScout - http://www.bytescout.com       
//       ALL RIGHTS RESERVED                                         
//                                                                   
//*******************************************************************

using System.Diagnostics;
using Bytescout.PDF;

namespace SuperscripAndSubscript
{
	/// <summary>
	/// This example demonstrates how to draw subscript or superscript text adjusting the text baseline.
	/// </summary>
	class Program
	{
		static void Main()
		{
			// Create new document
			Document pdfDocument = new Document();
			pdfDocument.RegistrationName = "demo";
			pdfDocument.RegistrationKey = "demo";
			// Add page
			Page page = new Page(PaperFormat.A4);
			pdfDocument.Pages.Add(page);


			Font font = new Font("Arial", 16);
			Brush brush = new SolidBrush();
			StringFormat stringFormat = new StringFormat();
			float xPosition = 20;

			// Draw normal string
			page.Canvas.DrawString("Normal text ", font, brush, xPosition, 50, stringFormat);
			xPosition += font.GetTextWidth("Normal text ");

			// Draw subscript string 
			stringFormat.Rise = -5;
			page.Canvas.DrawString("Subscript", font, brush, xPosition, 50, stringFormat);
			xPosition += font.GetTextWidth("Subscript");

			// draw superscript string
			stringFormat.Rise = +5;
			page.Canvas.DrawString("Superscript", font, brush, xPosition, 50, stringFormat);
			xPosition += font.GetTextWidth("Superscript");

			// Draw the baseline
			Pen pen = new SolidPen(new ColorRGB(0, 0, 255));
			pen.Opacity = 50;
			page.Canvas.DrawLine(pen, 20, 50 + font.Size, xPosition, 50 + font.Size);

			
			// Save document to file
			pdfDocument.Save("result.pdf");

			// Cleanup 
			pdfDocument.Dispose();

			// Open document in default PDF viewer app
			Process.Start("result.pdf");
		}
	}
}