How to Render PDFs with Custom Paper Size

A custom paper size refers to a non-standard paper size that is defined by the user rather than being a standard size like A4 or letter size (8.5 x 11 inches). Custom paper sizes are often used when printing documents that require a unique or specific layout, such as posters, banners, or specialty documents.

Discover the extensive range of paper sizes available with IronPDF, offering a wide selection to suit your needs!

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet

    PM > Install-Package IronPdf

  2. Copy the code

    new IronPdf.ChromePdfRenderer { RenderingOptions = { PaperSize = IronPdf.Rendering.PdfPaperSize.Custom, } }
        .RenderHtmlAsPdf("<h1>Custom size</h1>")
        .Renderer.RenderingOptions.SetCustomPaperSizeInInches(5, 7)
        .SaveAs("custom‑size.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer


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

First Step:
green arrow pointer

Use Standard Paper Size Example

First, create an instance of the ChromePdfRenderer class. Then, use the RenderingOptions property of the newly created object to modify the PaperSize. Set it to one of the predefined values from the PdfPaperSize enum to specify the desired paper size. We offer over 100 predefined standard paper sizes for your convenience.

Code

Below is an example of how to set a standard paper size:

:path=/static-assets/pdf/content-code-examples/how-to/custom-paper-size-standard-paper-size.cs
using IronPdf;
using IronPdf.Rendering;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set paper size to A4
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Standard Paper Size</h1>");

pdf.SaveAs("standardPaperSize.pdf");
Imports IronPdf
Imports IronPdf.Rendering

Private renderer As New ChromePdfRenderer()

' Set paper size to A4
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Standard Paper Size</h1>")

pdf.SaveAs("standardPaperSize.pdf")
$vbLabelText   $csharpLabel
  • PaperSize: Set an output paper size for PDF pages with predefined sizes such as letter, A3, A4, etc.
  • ForcePaperSize: Forces page sizes to be exactly what is specified via IronPdf.ChromePdfRenderOptions.PaperSize by resizing the page after generating a PDF from HTML. This feature is useful for bypassing CSS rules that specify paper size.

Get Standard Paper Sizes in Various Units

Need to find the dimensions of standard paper sizes? You can easily do so using the ToMillimeters method. This method returns a tuple containing the width and height of the standard paper size as Length objects. The Length class is incredibly versatile, allowing you to effortlessly convert these dimensions into a variety of units, including:

  • Millimeters
  • Centimeters
  • Inches
  • Pixels
  • Points
:path=/static-assets/pdf/content-code-examples/how-to/custom-paper-size-standard-paper-size-in-other-unit.cs
using IronPdf.Rendering;

double A4WidthInPixel = PdfPaperSize.A4.ToMillimeters().width.ToPixel();
double A4HeightInCentimeter = PdfPaperSize.A4.ToMillimeters().height.ToCentimeter();
Imports IronPdf.Rendering

Private A4WidthInPixel As Double = PdfPaperSize.A4.ToMillimeters().width.ToPixel()
Private A4HeightInCentimeter As Double = PdfPaperSize.A4.ToMillimeters().height.ToCentimeter()
$vbLabelText   $csharpLabel

Use Custom Paper Size Example

First, we begin by instantiating the ChromePdfRenderer class. From the newly created object, we can access the RenderingOptions to apply a custom paper size to the newly generated PDF document. There are four methods that can be used to set the output paper size for PDF pages, each based on a different measurement unit:

  • SetCustomPaperSizeInCentimeters: Dimensions are in centimeters.
  • SetCustomPaperSizeInInches: Dimensions are in inches.
  • SetCustomPaperSizeInMillimeters: Dimensions are in millimeters.
  • SetCustomPaperSizeInPixelsOrPoints: Dimensions are in pixels or points.

Code

Below is an example of how to set a custom paper size in centimeters:

:path=/static-assets/pdf/content-code-examples/how-to/custom-paper-size-cm.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set custom paper size in cm
renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15);

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Custom Paper Size</h1>");

pdf.SaveAs("customPaperSize.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' Set custom paper size in cm
renderer.RenderingOptions.SetCustomPaperSizeinCentimeters(15, 15)

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Custom Paper Size</h1>")

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

Output PDF


Modify Paper Dimension Example

In an existing PDF document or a freshly rendered PDF, the size of each page can be modified using the ExtendPage method. This method allows you to specify the target page index, the values to modify each of the four sides, and the units of measurement. The values for each side can be negative, which will reduce that particular side, or positive, which will extend that side.

Code

Below is an example of how to modify paper dimensions:

:path=/static-assets/pdf/content-code-examples/how-to/custom-paper-size-modify-paper-size.cs
using IronPdf;
using IronPdf.Editing;

PdfDocument pdf = PdfDocument.FromFile("customPaperSize.pdf");

pdf.ExtendPage(0, 50, 0, 0, 0, MeasurementUnit.Millimeter);

pdf.SaveAs( "extendedLeftSide.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private pdf As PdfDocument = PdfDocument.FromFile("customPaperSize.pdf")

pdf.ExtendPage(0, 50, 0, 0, 0, MeasurementUnit.Millimeter)

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

Output PDF

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

Frequently Asked Questions

How can I render a PDF with a custom paper size in C#?

To render a PDF with a custom paper size using IronPDF, instantiate the ChromePdfRenderer class, access the RenderingOptions, and use one of the SetCustomPaperSize methods based on the measurement unit you prefer, such as centimeters or inches.

What are the steps to download the library for custom paper size settings?

You can download IronPDF via NuGet to access features for setting custom paper sizes in PDFs. This library provides the tools needed to define specific dimensions for your PDF documents.

How do I apply a standard paper size in PDF generation?

In IronPDF, create an instance of ChromePdfRenderer, then use the RenderingOptions to set the PaperSize property to a predefined value from the PdfPaperSize enum, such as A4 or letter size.

Is it possible to modify the page size of an existing PDF using IronPDF?

Yes, IronPDF allows you to modify the page size of an existing PDF by using the ExtendPage method. This method enables you to adjust the dimensions of each side of the page by specifying the page index and measurement units.

What are the options for setting custom paper sizes in IronPDF?

IronPDF provides methods to set custom paper sizes using various measurement units: SetCustomPaperSizeInCentimeters, SetCustomPaperSizeInInches, SetCustomPaperSizeInMillimeters, and SetCustomPaperSizeInPixelsOrPoints.

How does the ForcePaperSize feature work in PDF rendering?

The ForcePaperSize feature in IronPDF ensures that the actual page sizes match the specified dimensions by resizing the page after rendering the PDF from HTML. This helps to override any CSS rules that define paper size.

What predefined paper sizes are available in IronPDF?

IronPDF offers over 100 predefined paper sizes, including common sizes like A3, A4, and letter size, which can be selected via the PdfPaperSize enum.

How can I convert standard paper sizes into different units using IronPDF?

You can use IronPDF's ToMillimeters method to convert standard paper sizes into various units such as millimeters, centimeters, inches, pixels, or points, providing flexibility in PDF design.

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.