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 | Solid |
A Solid |
layout | Rectangle |
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:
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");
}