Skip to main content
All docs
V25.1
  • PdfGraphics.DrawString(String, DXFont, DXSolidBrush, Single, Single, PdfStringFormat) Method

    Draws text at the specified page point. Allows you to specify brush, font, and string parameters.

    Namespace: DevExpress.Pdf

    Assembly: DevExpress.Pdf.v25.1.Drawing.dll

    NuGet Package: DevExpress.Pdf.Drawing

    Declaration

    public void DrawString(
        string text,
        DXFont font,
        DXSolidBrush brush,
        float x,
        float y,
        PdfStringFormat format
    )

    Parameters

    Name Type Description
    text String

    A text to draw.

    font DXFont

    An object that defines font options.

    brush DXSolidBrush

    An object that determines the color and texture of the drawn text.

    x Single

    The x-coordinate in the world coordinate system of a point where you can draw text.

    y Single

    The y-coordinate in the world coordinate system of a point where you can draw text.

    format PdfStringFormat

    An object that specifies text formatting attributes.

    Remarks

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

    The x and y parameters define the point where the text’s upper-left corner is located. Set the TextOrigin property to Baseline to make the x and y parameters define the point where the start of the text’s baseline is located. Set this property before the DrawString method call.

    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.

    Example

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

    draw string result

    using DevExpress.Pdf;
    using System.Drawing;
    using DevExpress.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 (DXSolidBrush textBrush = new DXSolidBrush(Color.FromArgb(255, Color.DarkOrange)))
            {
                DXFont font = new DXFont("Segoe UI", 20, DXFontStyle.Regular)
                // Calculate text size
                SizeF textSize = graphics.MeasureString(text, font, PdfStringFormat.GenericTypographic);
    
                // Calculate a point where to draw text
                float x = (float)((pageSize.Width - textSize.Width) / 2);
                float y = (float)((pageSize.Height - textSize.Height) / 2);
    
                // Draw text at the calculated point
                graphics.DrawString(text, font, textBrush, x,y, PdfStringFormat.GenericTypographic);
    
                // Add graphics content to the page foreground
                graphics.AddToPageForeground(page, 72, 72);
            }
        }
        processor.SaveDocument("result.pdf");
    }
    
    See Also