Installation Overview
Complete guide to installing and configuring IronPDF across all platforms.
-
1Install IronPDF with NuGet Package Manager
-
2Copy and run this code snippet.
IronPdf.ChromePdfRenderer .StaticRenderHtmlAsPdf("<p>Hello World</p>") .SaveAs("pixelperfect.pdf");Dim Renderer = New IronPdf.ChromePdfRenderer() Renderer.StaticRenderHtmlAsPdf("<p>Hello World</p>").SaveAs("pixelperfect.pdf")Dim Renderer = New IronPdf.ChromePdfRenderer() Renderer.StaticRenderHtmlAsPdf("<p>Hello World</p>").SaveAs("pixelperfect.pdf") -
3Deploy to test on your live environment
Start using IronPDF in your project today with a free trial
1. Platform Requirements
| Platform | .NET Version | Hardware | Additional Requirements, Compatibility |
|---|---|---|---|
| .NET 10, 9, 8, 7, 6, 5, .NET Core, .NET Standard, and .NET Framework. |
|
| |
| |||
| All macOS versions since 2020 |
2. Installation Methods
There are two ways you can install IronPDF: native mode and remote engine. By default, native mode is recommended. For deploying to production servers using Docker/Kubernetes, use remote engine mode.
- Best for: Cloud and containerized deployments, legacy OS support.
- Package: IronPdf.Slim
- Size: More lightweight, taking up a few MB.
- Requirements: Requires configuring the connection to host.
- Best for: Modern Windows, macOS, and Linux deployments.
- Package: Full IronPDF NuGet package.
- Size: Larger in size (hundreds of MBs), including Chrome and Pdfium binaries.
- Requirements: Works on modern operating systems.
3. Installation Options
Installing the C# PDF library takes less than 5 minutes. Get it free via NuGet or direct download and start using it in Visual Studio right away.
Go to the IronPDF NuGet library (or Package Manager Console in Visual Studio)
- In Solution Explorer, right-click on References
- Select 'Manage NuGet Packages' > 'Browse' > Search IronPDF
- Select the package and install.
- Download IronPDF DLL package for your platform: Windows, Linux, macOS
- 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.
Install IronPDF using NuGet.
4. Additional Configurations
After you've purchased or signed up for a 30-day trial of IronPDF, find the license key sent to your email.
Add your license key at the start of your application.
IronPdf.License.LicenseKey = "KEY";IronPdf.License.LicenseKey = "KEY";Imports IronPdf
IronPdf.License.LicenseKey = "KEY"Imports IronPdf
IronPdf.License.LicenseKey = "KEY"Check license status.
bool valid = IronPdf.License.IsLicensed;bool valid = IronPdf.License.IsLicensed;Imports IronPdf
Dim valid As Boolean = License.IsLicensedImports IronPdf
Dim valid As Boolean = License.IsLicensedSet the TempFolderPath property of the IronPdf.Installation object.
IronPdf.Installation.TempFolderPath = @"C:\My\Safe\Path";IronPdf.Installation.TempFolderPath = @"C:\My\Safe\Path";IronPdf.Installation.TempFolderPath = "C:\My\Safe\Path"IronPdf.Installation.TempFolderPath = "C:\My\Safe\Path"Setting the temp folder environment variable at application scope.
using IronPdf;
// Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
var MyTempPath = @"C:\Safe\Path\";
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process);
// Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf");
// Your PDF Generation and editing code
var Renderer = new IronPdf.ChromePdfRenderer();
using var Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
Doc.SaveAs("example.pdf");using IronPdf;
// Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
var MyTempPath = @"C:\Safe\Path\";
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process);
// Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf");
// Your PDF Generation and editing code
var Renderer = new IronPdf.ChromePdfRenderer();
using var Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
Doc.SaveAs("example.pdf");Imports IronPdf
' Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
Dim MyTempPath As String = "C:\Safe\Path\"
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process)
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process)
' Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf")
' Your PDF Generation and editing code
Dim Renderer As New IronPdf.ChromePdfRenderer()
Using Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
Doc.SaveAs("example.pdf")
End UsingImports IronPdf
' Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
Dim MyTempPath As String = "C:\Safe\Path\"
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process)
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process)
' Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf")
' Your PDF Generation and editing code
Dim Renderer As New IronPdf.ChromePdfRenderer()
Using Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
Doc.SaveAs("example.pdf")
End Using[Remote IronPdfEngine] After installing the IronPdf.Slim package, connect to the engine container and configure the connection at app startup or before calling any IronPDF method.
Assuming IronPdfEngine runs remotely at 123.456.7.8:33350:
Installation.ConnectToIronPdfHost(
IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
);Installation.ConnectToIronPdfHost(
IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
);Imports IronPdf
Installation.ConnectToIronPdfHost(
GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
)Imports IronPdf
Installation.ConnectToIronPdfHost(
GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
)[Linux] Enable IronPDF to auto-install all required Linux dependencies. The first HTML-to-PDF operation may take longer than usual.
Installation.LinuxAndDockerDependenciesAutoConfig = true;Installation.LinuxAndDockerDependenciesAutoConfig = true;Installation.LinuxAndDockerDependenciesAutoConfig = TrueInstallation.LinuxAndDockerDependenciesAutoConfig = True[Docker] Pre-initialize Chrome engine to preload prerequisites and speed up first-time use in Docker.
IronPdf.Installation.Initialize();IronPdf.Installation.Initialize();IronPdf.Installation.Initialize()IronPdf.Installation.Initialize()5. Deployment Scenarios
Run & Deploy IronPDF .NET on
Azure FunctionRun & Deploy IronPDF .NET on
AWS LambdaRun IronPDF in
Linux Docker ContainerRun IronPDF as a
Remote ContainerNext Steps
Frequently Asked Questions
What are the platform requirements to install IronPDF?
IronPDF can be installed on Windows, Linux, and macOS. It supports .NET versions 10, 9, 8, 7, 6, 5, .NET Core, .NET Standard, and .NET Framework. The minimum hardware requirement is 1 Core & 1.75 GB of RAM, but 2 Cores & 8 GB of RAM or higher is recommended.
How can I install IronPDF via NuGet?
To install IronPDF via NuGet, open the Package Manager Console in Visual Studio, right-click on 'References' in Solution Explorer, select 'Manage NuGet Packages', browse and search for IronPDF, then install the selected package.
What are the differences between native mode and remote engine mode for IronPDF?
The native mode is recommended for modern OS deployments and includes the full IronPDF NuGet package with larger file size due to Chrome and Pdfium binaries. The remote engine mode is suited for cloud and containerized deployments, using a more lightweight package with gRPC protocol.
What should I do if my HTML-to-PDF operation is slow on Linux?
You can enable auto-configuration of Linux dependencies, which helps IronPDF auto-install required dependencies, potentially speeding up the first HTML-to-PDF operation.
How do I manage the license for IronPDF?
After obtaining a license key via purchase or a 30-day trial, you can add the key to your application with the IronPdf.License.LicenseKey and verify the status using the IronPdf.License.IsLicensed property.
Can I run IronPDF on a remote server?
Yes, IronPDF can be run on a remote server using the remote engine mode. You need to configure the connection to the IronPdfEngine on the remote server using gRPC protocol.
How do I set a custom temporary folder path for IronPDF?
You can customize the temporary folder path by setting the IronPdf.Installation.TempFolderPath to a desired directory path in your application code.
What are the steps for manual installation of IronPDF?
For manual installation, download the IronPDF DLL package for your platform, unzip the files into your solution directory, then add them as references in Visual Studio's Project Reference section.
How do I deploy IronPDF on Docker?
For Docker deployment, you can choose the remote engine mode for optimal performance and pre-initialize the Chrome engine to preload prerequisites and improve the first-time use experience.
What are the limitations of using the IronPdfEngine in a remote setup?
Each IronPDF release must use the corresponding version of IronPdfEngine for remote setups. Cross-version support is not available, so you need matching versions for the IronPDF and IronPdfEngine components.
Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.