PDF Mosaic: How to change text rise


Home       Features       Download       Tutorial       Version History       License       Source Code

 

This sample shows how to adjust baseline of text (useful for drawing superscripts or subscripts) using PDFStringFormat.Rise property.

Text rise specifies the distance to move the baseline up or down from its default location.


 

C# :

using PDFMosaic;
using System.Drawing;
 
namespace TextRise
{
  class TextRise
  {
    static void Main()
    {
      PDFDocument document = new PDFDocument();
      document.Pages.Add(new PDFPage(PDFPaperFormat.A4));
      PDFCanvas canvas = document.Pages[0].Canvas;
 
      PDFFont font = new PDFFont("Arial", 16);
      PDFBrush brush = new PDFSolidBrush();
      PDFStringFormat sf = new PDFStringFormat();
 
      float x = 0;      
      canvas.DrawString("Text rise 0 ", font, brush, x, 100, sf);
 
      sf.Rise = -font.Size / 2;
      x += font.GetTextWidth("Text rise 0 ");
      canvas.DrawString("Text rise -8 ", font, brush, x, 100, sf);
 
      sf.Rise = -font.Size / 4;
      x += font.GetTextWidth("Text rise -8 ");
      canvas.DrawString("Text rise -4 ", font, brush, x, 100, sf);
      x += font.GetTextWidth("Text rise -4 ");
 
      PDFPen pen = new PDFSolidPen();
      canvas.DrawLine(pen, 0, font.Size * 1.5f + 3 + 100, x, font.Size * 1.5f + 3 + 100);
 
      document.Save("TextRise.pdf", true);
    }
  }
}

 

Visial Basic.NET :

Imports PDFMosaic
Imports System.Drawing
 
Module TextRise
  Sub Main()
    Dim document As PDFDocument = New PDFDocument()
    document.Pages.Add(New PDFPage(PDFPaperFormat.A4))
    Dim canvas As PDFCanvas = document.Pages(0).Canvas
 
    Dim font As PDFFont = New PDFFont("Arial", 16)
    Dim brush As PDFBrush = New PDFSolidBrush()
    Dim sf As PDFStringFormat = New PDFStringFormat()
 
    Dim x As Single = 0
    canvas.DrawString("Text rise 0 ", font, brush, x, 100, sf)
 
    sf.Rise = -font.Size / 2
    x += font.GetTextWidth("Text rise 0 ")
    canvas.DrawString("Text rise -8 ", font, brush, x, 100, sf)
 
    sf.Rise = -font.Size / 4
    x += font.GetTextWidth("Text rise -8 ")
    canvas.DrawString("Text rise -4 ", font, brush, x, 100, sf)
    x += font.GetTextWidth("Text rise -4 ")
 
    Dim pen As New PDFSolidPen()
    canvas.DrawLine(pen, 0, font.Size * 1.5F + 3 + 100, x, font.Size * 1.5F + 3 + 100)
 
    document.Save("TextRise.pdf", True)
  End Sub
End Module

 


Home       Features       Download       Tutorial       Version History       License       Source Code