How to Draw Text and Bitmap on PDFs

Drawing text and images on a PDF involves adding text and images to an existing document. IronPDF seamlessly enables this feature. By incorporating text and images, users can customize PDFs with watermarks, logos, and annotations, improving the document's visual appearance and branding. Additionally, text and images facilitate the presentation of information, data visualization, and the creation of interactive forms.

Get started with IronPDF

Start using IronPDF in your project today with a free trial.

First Step:
green arrow pointer



Draw Text on PDF Example

By utilizing the DrawText method available for the PdfDocument object, you can add text to an existing PDF without altering its original content.

:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-text.cs
using IronPdf;
using IronSoftware.Drawing;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");

// Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 100, Color.Black, Rotation: 0);

pdf.SaveAs("drawText.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Available Fonts in FontTypes Class

The DrawText method currently supports all Standard Fonts in IronPDF, including Courier, Arial (or Helvetica), Times New Roman, Symbol, and ZapfDingbats. Visit the 'Standard Fonts in IronPDF' section in the Manage Fonts article for italic, bold, and oblique variants of these font types.

The ZapfDingbats font, in particular, can be used to display symbols such as ▲ . For a comprehensive list of supported symbols, you can visit Wikipedia on Zapf Dingbats.

Output fonts sample on PDF

Fonts Sample on PDF

Draw Text with Newline

The draw text action supports newline characters, allowing you to render text with built-in newlines for better formatting and visual clarity.

To achieve this, add newline characters (\n) to the text string. Using the example above, you can draw:

string textWithNewlines = "Some text\nSecond line";
pdfDoc.DrawText(textWithNewlines, font, position);
string textWithNewlines = "Some text\nSecond line";
pdfDoc.DrawText(textWithNewlines, font, position);
Imports Microsoft.VisualBasic

Dim textWithNewlines As String = "Some text" & vbLf & "Second line"
pdfDoc.DrawText(textWithNewlines, font, position)
$vbLabelText   $csharpLabel

Use Custom Font

We also support using custom fonts with the DrawText method; below is an example with the Pixelify Sans Font added for the text.

:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-custom-font.cs
using IronPdf;
using IronSoftware.Drawing;
using System.IO;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");

// Add custom font to the PDF
byte[] fontByte = File.ReadAllBytes(@".\PixelifySans-VariableFont_wght.ttf");
var addedFont = pdf.Fonts.Add(fontByte);

// Draw text on PDF
pdf.DrawText("Iron Software", addedFont.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 600, Color.Black, Rotation: 0);

pdf.SaveAs("drawCustomFont.pdf");
Imports IronPdf
Imports IronSoftware.Drawing
Imports System.IO

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")

' Add custom font to the PDF
Private fontByte() As Byte = File.ReadAllBytes(".\PixelifySans-VariableFont_wght.ttf")
Private addedFont = pdf.Fonts.Add(fontByte)

' Draw text on PDF
pdf.DrawText("Iron Software", addedFont.Name, FontSize:= 12, PageIndex:= 0, X:= 100, Y:= 600, Color.Black, Rotation:= 0)

pdf.SaveAs("drawCustomFont.pdf")
$vbLabelText   $csharpLabel

Draw Image Example

With IronPDF's DrawBitmap method, you can easily add bitmaps to an existing PDF document. This method functions similarly to the Image Stamper feature, allowing you to stamp images onto an existing PDF.

Please noteThe DrawBitmap method works best with large images. When attempting to use smaller resolution images, you may encounter the following exception: IronPdf.Exceptions.IronPdfNativeException: 'Error while drawing image: data length (567000) is less than expected (756000)'. To overcome this issue, you can use the Image Stamper, which seamlessly handles images of all sizes.

Sample image

1200 x 627 image

Code

:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-bitmap.cs
using IronPdf;
using IronSoftware.Drawing;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");

// Open the image from file
AnyBitmap bitmap = AnyBitmap.FromFile("ironSoftware.png");

// Draw the bitmp on PDF
pdf.DrawBitmap(bitmap, 0, 50, 250, 500, 300);

pdf.SaveAs("drawImage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Output PDF

Ready to see what else you can do? Check out our tutorial page here: Edit PDFs

Frequently Asked Questions

How can I draw text and an image on PDFs using C#?

You can use IronPDF's DrawText method to add text to a PDF and the DrawBitmap method to add images. First, download the IronPDF library from NuGet, import your PDF, apply the text or image, and export the edited document.

What fonts are supported when adding text to a PDF?

IronPDF supports standard fonts like Courier, Arial (Helvetica), Times New Roman, Symbol, and ZapfDingbats. You can also use custom fonts by specifying the custom font file when using the DrawText method.

How do I add text to a PDF with newlines using C#?

To add text with newlines in IronPDF, include newline characters ('\n') in your text string when using the DrawText method. This allows you to format text for better clarity and organization.

Can I use custom fonts in my PDF documents?

Yes, IronPDF supports custom fonts. You can specify a custom font file when using the DrawText method to include unique typography in your PDFs.

What should I do if I encounter an error while drawing images on a PDF?

If you encounter errors, especially with small images, consider using IronPDF's Image Stamper feature, which handles images of all sizes seamlessly and prevents common exceptions.

How can I convert HTML to PDF in C#?

You can use IronPDF's RenderHtmlAsPdf method to convert HTML strings into PDFs. You can also convert HTML files into PDFs using RenderHtmlFileAsPdf.

How do I start using IronPDF for editing PDFs?

Start by downloading the IronPDF library from NuGet. Then, import the desired PDF document, use the DrawText or DrawBitmap methods to add text or images, and finally export the edited document.

Chaknith Bin
Software Engineer
Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience.