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.
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.
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:
// Establish a connection with the remote IronPdfEngine
// Remember to replace the IP address and port with your actual server details
Installation.ConnectToIronPdfHost(
IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
);
// Additional code for your application' Establish a connection with the remote IronPdfEngine
' Remember to replace the IP address and port with your actual server details
Installation.ConnectToIronPdfHost(IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350"))
' Additional code for your applicationHow 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!
For a quick start tutorial regarding running IronPDF as its own container, please refer to this tutorial. The Docker container supports 16 runtime configuration parameters for port, logging, Chrome limits, and more - see the full parameter reference.
How to Use IronPdfEngine as a Remote Server
- Install the C# library to utilize IronPdfEngine
- Install the IronPdf.slim package from NuGet
- Utilize the IronPdfConnectionConfiguration class to configure the connection settings
- Use the IronPdfEngine to render HTML to PDF with an identical renderer to Chrome
Other clarifications for IronPdfEngine
IronPDF .NET does not require IronPdfEngine to run. IronPdfEngine is just an optional way to use IronPDF. By default, IronPDF for .NET will not use IronPdfEngine.
IronPDF .NET with Remote IronPdfEngine
The IronPdf.slim NuGet package is the only package needed to use IronPDF for .NET with Remote IronPdfEngine.
IronPdf or IronPdf.Linux, you may use IronPdf.slim instead to reduce your application size.Assuming that IronPdfEngine runs remotely at 123.456.7.8:33350.
Install IronPDF using NuGet:
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).
// Connect to the remote IronPdfEngine
Installation.ConnectToIronPdfHost(
IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
);Imports IronPdf
' Connect to the remote IronPdfEngine
Installation.ConnectToIronPdfHost(
GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
)Simple as that! After this, your application will be connected to the Remote IronPdfEngine!
IronPdfEngine Limitations
- Currently, IronPdfEngine itself does not support horizontal scaling (load balancing across multiple engine instances) because the engine holds in-progress PDF binaries in server memory and uses PdfDocumentId to coordinate between server and client. This design minimizes bandwidth usage and increases processing speed. Note that this limitation applies only to the IronPdfEngine service; applications that use the IronPDF library (with or without IronPdfEngine) can still scale horizontally by deploying multiple application instances.
- To run IronPdfEngine Docker remotely, you need to ensure that the IronPdfEngine port is reachable.
- IronPdfEngine Docker running on Linux x64 (Debian) using official ubuntu:22.04 based images may produce PDF output that is slightly different from what you would get running IronPDF locally due to different OS behavior.
- Since IronPdfEngine Docker is Linux-based, it requires Linux Containers daemon (select
Switch to Linux Containersif you are using Windows). - IronPdfEngine binaries are not cross-platform, so we build them for each platform specifically.
- Cross-version support is not available.
Frequently Asked Questions
What is IronPdfEngine and how does it work?
IronPdfEngine is a containerized server designed to manage various IronPDF operations, such as creating, writing, editing, and reading PDFs. It operates independently as a self-contained C# .NET application and uses the gRPC protocol.
Is IronPdfEngine required to use IronPDF?
No, IronPdfEngine is not required to use IronPDF. It is an optional configuration that allows you to run IronPDF as a remote service to avoid platform-specific Chrome compatibility issues.
How can I set up IronPdfEngine remotely?
To set up IronPdfEngine remotely, install the IronPdf.Slim package from NuGet and configure the connection settings by pointing IronPDF to your IronPdfEngine instance using the IronPdfConnectionConfiguration class.
What are the advantages of using IronPdfEngine?
Using IronPdfEngine allows you to run performance-intensive functions remotely, avoiding compatibility issues with older operating systems and mobile environments. It provides a containerized solution for efficient PDF processing.
Can I use IronPdfEngine with Linux?
Yes, IronPdfEngine can be run using Docker on Linux x64 systems. However, it requires the Linux Containers daemon and may produce slightly different PDF outputs compared to local IronPDF environments.
How do I configure IronPdfEngine to connect with my application?
After installing the IronPdf.Slim package, use the IronPdfConnectionConfiguration class to establish a connection with IronPdfEngine by specifying the server IP address and port.
What are the limitations of IronPdfEngine?
IronPdfEngine does not support horizontal scaling due to its server memory handling, and its binaries are platform-specific. Cross-version compatibility is also not available.
Can applications using the IronPDF library scale horizontally?
Yes, applications using the IronPDF library can scale horizontally by deploying multiple application instances, with or without IronPdfEngine.
What version of IronPdfEngine should I use with my IronPDF library?
Each version of IronPDF for .NET requires a specific matching version of IronPdfEngine. For example, IronPDF 2024.2.2 should use IronPdfEngine 2024.2.2.
Is cross-version support available in IronPdfEngine?
No, cross-version support is not available. Each version of IronPDF requires a matching version of IronPdfEngine for compatibility.

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.