IronPDF Quickstart Guide

Install IronPDF and create your first PDF in just five minutes. With its simple API, you can convert HTML, DOCX, images, and more into pixel-perfect PDFs.

1. Prerequisites


2. Install IronPDF

Standard IronPDF installation runs locally. If you want to deploy on Docker/microservices, check out Remote Engine Mode Guide.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
NuGet Package Manager
DLL Download

Go to the IronPDF NuGet library:

  1. In Solution Explorer, right-click on References
  2. Select 'Manage NuGet Packages' > 'Browse' > Search IronPdf
Install-Package IronPdf
  • Download IronPDF DLL package
  • Unzip the ZIP file for your OS to a location within your Solution directory
  • In Visual Studio Solution Explorer, right-click on 'Dependencies'
  • 'Add Project Reference' > Select 'Browse' to include all the DLLs extracted from the zip.

Platform-specific Guides


3. Apply License Key

When you purchase IronPDF licenses or choose to start with a 30-day trial, a license key will be sent to your email. Copy the key and add it at the start of your app.

IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY"
$vbLabelText   $csharpLabel

4. Create Your First PDF

Add this at the top of your .cs file.

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel
Create a Blank PDF
Convert HTML String to PDF
Convert DOCX to PDF

The simplest way to create a PDF object uses just the width and height. This PdfDocument constructor creates a blank PDF, ready for customization.

using IronPdf;

PdfDocument pdf = new PdfDocument(270, 270);
pdf.SaveAs("blankPage.pdf");
using IronPdf;

PdfDocument pdf = new PdfDocument(270, 270);
pdf.SaveAs("blankPage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Using ChromePdfRenderer.RenderHtmlAsPdf method, you can transform any HTML (including HTML5) into a PDF using the embedded Chromium engine.

using IronPdf;

IronPdf.ChromePdfRender
       .StaticRenderHtmlAsPdf("<p>Hello Word</p>")
       .SaveAs("string-to-pdf.pdf");
using IronPdf;

IronPdf.ChromePdfRender
       .StaticRenderHtmlAsPdf("<p>Hello Word</p>")
       .SaveAs("string-to-pdf.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Convert Word documents to PDF with the DocxToPdfRenderer class, you can render DOCX files directly into customizable PDFs for seamless integration into .NET apps.

using IronPdf;

DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf

Private renderer As New DocxToPdfRenderer()
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

5. More Advanced Examples

In addition to straightforward PDF creation and conversion, IronPDF also offers more powerful PDF customization options.

Add Headers and Footers
Redact Text
Merge PDFs

Create text headers or footers by instantiating TextHeaderFooter, adding your text, and attaching it to the PDF.

using IronPdf;

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

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

// Create text footer
TextHeaderFooter textFooter = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Add text header and footer to the PDF
pdf.AddTextHeaders(textHeader);
pdf.AddTextFooters(textFooter);

pdf.SaveAs("addTextHeaderFooter.pdf");
using IronPdf;

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

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter
{
    CenterText = "This is the header!",
};

// Create text footer
TextHeaderFooter textFooter = new TextHeaderFooter
{
    CenterText = "This is the footer!",
};

// Add text header and footer to the PDF
pdf.AddTextHeaders(textHeader);
pdf.AddTextFooters(textFooter);

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

Redact text with ease using RedactTextOnAllPages to remove a phrase across the entire document.

using IronPdf;

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

// Redact 'Alaric' phrase from all pages
pdf.RedactTextOnAllPages("Alaric");

pdf.SaveAs("redacted.pdf");
using IronPdf;

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

// Redact 'Alaric' phrase from all pages
pdf.RedactTextOnAllPages("Alaric");

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

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

' Redact 'Alaric' phrase from all pages
pdf.RedactTextOnAllPages("Alaric")

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

Merge two PDF files in C# with the Merge method. Use ReplaceTextOnAllPages on any PdfDocument, new or imported, to swap old text with new.

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");

string oldText = ".NET6";
string newText = ".NET7";

// Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText);

pdf.SaveAs("replaceText.pdf");
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");

string oldText = ".NET6";
string newText = ".NET7";

// Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText);

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

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")

Private oldText As String = ".NET6"
Private newText As String = ".NET7"

' Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText)

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

Quick Troubleshooting

IssueSolution
Missing Visual C++ RuntimeInstall Visual C++ Redistributable - both x86 and x64 versions required for the Chrome engine
License not recognizedVerify with IronPdf.License.IsLicensed property. Ensure license is applied before any IronPDF operations
Slow first renderCall IronPdf.Installation.Initialize() at startup to pre-initialize rendering engines
Linux/Docker dependenciesSet Installation.LinuxAndDockerDependenciesAutoConfig = true for automatic dependency installation

Next Steps


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.
Reviewed by
Jeff Fritz
Jeffrey T. Fritz
Principal Program Manager - .NET Community Team
Jeff is also a Principal Program Manager for the .NET and Visual Studio teams. He is the executive producer of the .NET Conf virtual conference series and hosts 'Fritz and Friends' a live stream for developers that airs twice weekly where he talks tech and writes code together with viewers. Jeff writes workshops, presentations, and plans content for the largest Microsoft developer events including Microsoft Build, Microsoft Ignite, .NET Conf, and the Microsoft MVP Summit
Ready to Get Started?
Nuget Downloads 15,547,590 | Version: 2025.10 just released