How to draw subscript or superscript text adjusting the text baseline using ByteScout PDF SDK

  • Home
  • /
  • Articles
  • /
  • How to draw subscript or superscript text adjusting the text baseline using ByteScout PDF SDK

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");
		}
	}
} 
prev
next