PdfGraphics.DrawString(String, Font, SolidBrush, RectangleF, PdfStringFormat) Method
Draws text in the specified page rectangle. Allows you to specify brush, font, and string parameters.
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,
PdfStringFormat format
)
#Parameters
Name | Type | Description |
---|---|---|
text | String | A text to draw. |
font | Font | An object that defines text font options. |
brush | Solid |
An object that determines the color and texture of the drawn text. |
layout | Rectangle |
A page rectangle in the world coordinate system where you can draw text. |
format | Pdf |
An object that specifies text formatting attributes. |
#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:
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, PdfStringFormat.GenericTypographic);
// 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, PdfStringFormat.GenericTypographic);
// Add graphics content to the page foreground
graphics.AddToPageForeground(page, 72, 72);
}
}
}
processor.SaveDocument("result.pdf");
}
#Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the DrawString(String, Font, SolidBrush, RectangleF, PdfStringFormat) method.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.