This article will show you how to use Spire.PDF for Java to draw superscript and subscript text to PDF file in Java applications.
Draw Superscript Text
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
public class PdfSuperscriptText {
public static void main(String[] args) {
//Create a new PdfDocument instance
PdfDocument doc = new PdfDocument();
//Add a page to pdf
PdfPageBase page = doc.getPages().add();
//Set the font
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", Font.PLAIN,14),true);
PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black));
//Set initial (x, y) coordinate
float x = 120f;
float y = 100f;
//Draw text string
String text = "Sample Text";
page.getCanvas().drawString(text, font, brush, new Point2D.Float(x, y));
//Measure the string
Dimension2D size = font.measureString(text);
x += size.getWidth();
//Draw the text string and set the format as Superscript
PdfStringFormat format = new PdfStringFormat();
format.setSubSuperScript(PdfSubSuperScript.Super_Script);
text = "Superscrip";
page.getCanvas().drawString(text, font, brush, new Point2D.Float(x, y), format);
//Save the document to file
String result="output/superScript.pdf";
doc.saveToFile(result);
}
}
Effective screenshot:

Draw Subscript Text
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
public class PdfSubscriptText {
public static void main(String[] args) {
//Create a new PdfDocument instance
PdfDocument doc = new PdfDocument();
//Add a page to pdf
PdfPageBase page = doc.getPages().add();
//Set the font
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", Font.PLAIN,14),true);
PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black));
//Set initial (x, y) coordinate
float x = 120f;
float y = 100f;
//Draw text string
String text = "Sample Text";
page.getCanvas().drawString(text, font, brush, new Point2D.Float(x, y));
//Measure the string
Dimension2D size = font.measureString(text);
x += size.getWidth();
//Draw the text string and set the format as Subscript
PdfStringFormat format = new PdfStringFormat();
format.setSubSuperScript(PdfSubSuperScript.Sub_Script);
text = "Subscrip";
page.getCanvas().drawString(text, font, brush, new Point2D.Float(x, y), format);
//Save the document to file
String result="output/subScript.pdf";
doc.saveToFile(result);
}
}
Output:

