Use IronPDF with in-Engine Mode

Difference between Native & Engine

IronPDF has some performance-intensive functions that you may choose to run remotely. While IronPDF does not require IronPdfEngine to run, setting up IronPdfEngine as a remote service is an optional way to avoid platform-specific Chrome compatibility issues on older operating systems and mobile environments.

Get started with IronPDF

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

First Step:
green arrow pointer


How using Engine changes the way you code with IronPDF

When using the Engine configuration, we recommend installing IronPdf.Slim instead of the full IronPdf package from NuGet, as the Engine manages all the extra bulk included in the Native package.

PM> Install-Package IronPdf.Slim

After installing IronPdf.Slim, configure the connection settings by pointing IronPDF to your IronPdfEngine instance. Add the following code at the startup of your application (or before calling any IronPDF method):

Extra Line of Configuration Code to add to your C# code

Assuming that IronPdfEngine runs remotely at 123.456.7.8:33350:

// ... your code ...

Installation.ConnectToIronPdfHost( IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350"));

// ... your code ...
// ... your code ...

Installation.ConnectToIronPdfHost( IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350"));

// ... your code ...
' ... your code ...

Installation.ConnectToIronPdfHost(IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350"))

' ... your code ...
VB   C#

How does IronPdfEngine Work?

IronPdfEngine is a containerized server designed to manage various IronPDF operations, including creating, writing, editing, and reading PDFs all using the gRPC protocol. Built as a self-contained C# .NET application, IronPdfEngine operates independently, eliminating the need for the .NET runtime during execution. We handle the gRPC connection for you so you can focus on the coding!

Other clarifications for IronPdfEngine

IronPdf .NET does not require IronPdfEngine to run. IronPdfEngine is just an optional ways to use IronPdf. By default IronPdf for .NET will not use IronPdfEngine.

Please note
Each version of IronPdf for .NET required a specific version of IronPdfEngine. Cross-version are not suppoted. For IronPdf for .NET the required version of IronPdfEngine will always matched. For example IronPdf 2024.2.2 will use IronPdfEngine 2024.2.2

IronPdf .NET with Remote IronPdfEngine

IronPdf.slim nuget package is the only packaged needed to use IronPdf for .NET with Remote IronPdfEngine.

Please note
If you are using IronPdf or IronPdf.Linux you may use IronPdf.slim instead to reduce your application size.

Assuming that IronPdfEngine run remotely at 123.456.7.8:33350.

Please note
To run IronPdfEngine remotely, please refer to "How to Pull and Run IronPdfEngine."

Install IronPdf using NuGet:

PM> Install-Package IronPdf

After installing IronPdf.slim, you just need to tell IronPdf where IronPdfEngine is (please make sure that address is accessible, not blocked by firewall). Use the IronPdfConnectionConfiguration class to configure the connection settings. Add the below code to the initial stage of your application (or just before calling any IronPdf method).

Installation.ConnectToIronPdfHost(IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("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"))
VB   C#

Simple as that! After this your application will be connected to Remote IronPdfEngine!