Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

PdfGraphics.DrawString(String, Font, SolidBrush, RectangleF) Method

Draws text with the specified brush and font parameters in the specified page rectangle.

Namespace: DevExpress.Pdf

Assembly: DevExpress.Pdf.v24.2.Drawing.dll

NuGet Package: DevExpress.Pdf.Drawing

#Declaration

public void DrawString(
    string text,
    Font font,
    SolidBrush brush,
    RectangleF layout
)

#Parameters

Name Type Description
text String

A text to draw.

font Font

A Font object that defines the text format of the string.

brush SolidBrush

A SolidBrush object that determines the color and texture of the drawn text.

layout RectangleF

A page rectangle in the world coordinate system where you can draw text.

#Remarks

Use the MeasureString method to calculate a size of the drawn text and a page area where you can draw text.

Use the UseKerning property to enable kerning in drawn text.

To draw a string on the PDF page, use one of the following methods:

PdfGraphics.AddToPageForeground, PdfGraphics.AddToPageBackground
These methods allow you to draw content on an existing page.
PdfDocumentProcessor.RenderNewPage
Draws content on a new page.

The code sample below draws text in the center of an empty page:

draw string result

using DevExpress.Pdf;
using System.Drawing;
//...

using (var processor = new PdfDocumentProcessor())
{
    processor.CreateEmptyDocument();

    using (PdfGraphics graphics = processor.CreateGraphics())
    {
        // Obtain the first document page
        PdfPage page = processor.AddNewPage(PdfPaperSize.A4);
        PdfRectangle pageSize = page.CropBox;

        // Specify text to draw
        string text = "PDF Document API";
        using (SolidBrush textBrush = new SolidBrush(Color.FromArgb(255, Color.DarkOrange)))
        {
            using (Font font = new Font("Segoe UI", 20, FontStyle.Regular))
            {
                // Calculate text size
                SizeF textSize = graphics.MeasureString(text, font);

                // Calculate an area where to draw text
                float x = (float)((pageSize.Width - textSize.Width) / 2);
                float y = (float)((pageSize.Height - textSize.Height) / 2);

                RectangleF textRect = new RectangleF(x, y, textSize.Width, textSize.Height);

                // Draw text in the calculated area
                graphics.DrawString(text, font, textBrush, textRect);

                // Add graphics content to the page foreground
                graphics.AddToPageForeground(page, 72, 72);
            }
        }
    }
    processor.SaveDocument("result.pdf");
}
See Also