When drawing text on PDF page, you can align text horizontally and vertically. This tutorial will show you how to align text in a line and a rectangle by using Spire.PDF for Java.
Align Text in Line
import com.spire.pdf.graphics.*; import java.awt.*; public class AlignTextInLine { public static void main(String[] args) { //create a PdfDocument object PdfDocument doc = new PdfDocument(); //add a page PdfPageBase page = doc.getPages().add(); //create a true type font PdfTrueTypeFont font= new PdfTrueTypeFont(new Font("Times New Roman",Font.PLAIN,15)); //create a brush PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black)); //create a PdfStringFormat object, specifying PdfTextAlignment to Left PdfStringFormat leftAlignment = new PdfStringFormat(PdfTextAlignment.Left); //draw text at left page.getCanvas().drawString("Left", font , brush, 0, 20, leftAlignment); //draw text at right PdfStringFormat rightAlignment = new PdfStringFormat(PdfTextAlignment.Right); page.getCanvas().drawString("Right", font , brush, page.getCanvas().getClientSize().getWidth(), 20, rightAlignment); //draw text in center PdfStringFormat centerAlignment = new PdfStringFormat(PdfTextAlignment.Center); page.getCanvas().drawString("Center", font , brush, page.getCanvas().getClientSize().getWidth() / 2, 20, centerAlignment); //save the file doc.saveToFile("AlignTextInLine.pdf"); } }
Output:
Align Text in Rectangle
import com.spire.pdf.graphics.*; import java.awt.*; import java.awt.geom.Rectangle2D; public class AlignTextInRectangle { public static void main(String[] args) { //create a PdfDocument object PdfDocument doc = new PdfDocument(); //add a page PdfPageBase page = doc.getPages().add(); //create a true type font PdfTrueTypeFont font= new PdfTrueTypeFont(new Font("Times New Roman",Font.PLAIN,15)); //craete a pen PdfPen pen = new PdfPen(new PdfRGBColor(Color.black)); //create a brush PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.black)); //draw a rectangle Rectangle2D.Float rect = new Rectangle2D.Float(); rect.setRect(0, 20, page.getCanvas().getClientSize().getWidth() / 2, 100); page.getCanvas().drawRectangle(pen, rect); //create a PdfStringFormat object, specifying PdfTextAlignment to Top and Left PdfStringFormat topLeft = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top); //draw text at top left page.getCanvas().drawString("TopLeft", font, brush, rect, topLeft); //draw text at top right PdfStringFormat topRight = new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Top); page.getCanvas().drawString("TopRight", font, brush, rect, topRight); //draw text in center PdfStringFormat center = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle); page.getCanvas().drawString("Center", font, brush, rect, center); //draw text at bottom left PdfStringFormat bottomLeft = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Bottom); page.getCanvas().drawString("BottomLeft", font, brush, rect, bottomLeft); //draw text at bottom right PdfStringFormat bottomRight = new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Bottom); page.getCanvas().drawString("BottomRight", font, brush, rect, bottomRight); //save the file doc.saveToFile("AlignTextInRectangle.pdf"); } }
Output: