We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to draw rounded corner rectangle on PDF document in C# and VB.NET

Platform: WinForms |
Control: PDF

The Syncfusion Essential PDF is a feature-rich and high performance .NET PDF library used to create, read, and edit PDF documents programmatically without Adobe dependencies. This library also offers functionality to merge, split, stamp, forms, compress, and secure PDF files.

Using this library, you can draw different shapes like line, curve, rectangle and more on PDF documents in C# and VB.NET. This sample explains how to draw a round corner rectangle on PDF document in Console application.

Steps to draw a round corner rectangle on PDF document programmatically in C#:

  1. Create a new C# console application project.

Create a console application in Visual Studio

  1. Install the Syncfusion.Pdf.WinForms NuGet package as a reference to your .NET Framework application from the NuGet.org.

Refer NuGet package to the project

  1. Include the following namespaces in Program.cs file.


using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using System.Drawing;
using System.Drawing.Drawing2D;



Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Graphics
Imports System.Drawing
Imports System.Drawing.Drawing2D


  1. You can draw a round corner rectangle on PDF document in .NET Framework application by using the GraphicsPath class.
  2. Include the following code snippet in Program.cs file to draw a round corner rectangle on PDF document.


//Create a new PDF document
PdfDocument document = new PdfDocument();
//Add a new page to the document
PdfPage page = document.Pages.Add();
//Initialize graphics for the page
PdfGraphics graphics = page.Graphics;
//Represent the shape
graphics.DrawString("Rounded Rectangle", new PdfStandardFont(PdfFontFamily.Helvetica, 16), PdfBrushes.DarkBlue, new PointF(190, 30));
//Create the Rectangle
RectangleF rect = new RectangleF(160, 70, 200, 100);
int dimension = 30;
//Create the GraphicsPath
GraphicsPath graphicsPath = new GraphicsPath();
//Draw the rounded rectangle as separate 4 arcs with same dimensions of width and height
graphicsPath.AddArc(rect.X, rect.Y, dimension, dimension, 180, 90);
graphicsPath.AddArc(rect.X + rect.Width - dimension, rect.Y, dimension, dimension, 270, 90);
graphicsPath.AddArc(rect.X + rect.Width - dimension, rect.Y + rect.Height - dimension, dimension, dimension, 0, 90);
graphicsPath.AddArc(rect.X, rect.Y + rect.Height - dimension, dimension, dimension, 90, 90);
//Close the path
//Get the path points
PointF[] points = graphicsPath.PathPoints;
//Get the path types
byte[] pathTypes = graphicsPath.PathTypes;
//Create the PdfPath
PdfPath pdfPath = new PdfPath(PdfPens.Black, points, pathTypes);
//Draw the path on PDF page
graphics.DrawPath(PdfPens.Black, pdfPath);
//Save the PDF document
//Close the instance of PdfDocument



'Create a new PDF document
Dim document As PdfDocument = New PdfDocument
'Add a new page to the document
Dim page As PdfPage = document.Pages.Add
'Initialize graphics for the page
Dim graphics As PdfGraphics = page.Graphics
'Represent the shape
graphics.DrawString("Rounded Rectangle", New PdfStandardFont(PdfFontFamily.Helvetica, 16), PdfBrushes.DarkBlue, New PointF(190, 30))
'Create the Rectangle
Dim rect As RectangleF = New RectangleF(160, 70, 200, 100)
Dim dimension As Integer = 30
'Create the GraphicsPath
Dim graphicsPath As GraphicsPath = New GraphicsPath
'Draw the rounded rectangle as separate 4 arcs with same dimensions of width and height
graphicsPath.AddArc(rect.X, rect.Y, dimension, dimension, 180, 90)
graphicsPath.AddArc((rect.X + (rect.Width - dimension)), rect.Y, dimension, dimension, 270, 90)
graphicsPath.AddArc((rect.X + (rect.Width - dimension)), (rect.Y + (rect.Height - dimension)), dimension, dimension, 0, 90)
graphicsPath.AddArc(rect.X, (rect.Y + (rect.Height - dimension)), dimension, dimension, 90, 90)
'Close the path
'Get the path points
Dim points() As PointF = graphicsPath.PathPoints
'Get the path types
Dim pathTypes() As Byte = graphicsPath.PathTypes
'Create the PdfPath
Dim pdfPath As PdfPath = New PdfPath(PdfPens.Black, points, pathTypes)
'Draw the path on PDF page
graphics.DrawPath(PdfPens.Black, pdfPath)
'Save the PDF document
'Close the instance of PdfDocument


A complete work sample can be downloaded from RoundRectangle.zip.

By executing the program, you will get the PDF document as follows.

Round corner rectangle

Take a moment to peruse the documentation, where you will find other options likes adding shapes to PDF document and shape pagination.

Click here to explore the rich set of Syncfusion Essential PDF features.

An online sample link for drawing different shapes on PDF document.

See Also:

Draw a round corner rectangle in ASP.NET Core


Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.


2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile