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.
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 ...
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!
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 to Chrome renderer
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
IronPdf .NET with Remote IronPdfEngine
IronPdf.slim nuget package is the only packaged needed to use IronPdf for .NET with Remote IronPdfEngine.
Please note
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
.
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"))
Simple as that! After this your application will be connected to Remote IronPdfEngine!
IronPdfEngine Limitation
- Currently, IronPdfEngine does not support horizontal scaling yet. (load balancing with multiple instances.) Because We store the processing PDF file binaries inside the server memory and use PdfDocumentId for communicating between server and client. This also minimize bandwidht usage and increase the processing speed.
- To run IronPdfEngine Docker remotely, you need to make sure that IronPdfEngine port is reachable
- IronPdfEngine Docker running on Linux x64 (Debian) using official ubuntu:22.04 based images, the PDF output may be a little bit different than running IronPdf in your local machine due to the different OS behavior.
- Since IronPdfEngine Docker is Linux based so its need Linux Containers daemon. (select
Switch to Linux Containers
if your are using Windows) - IronPdfEngine binaries are not cross platfroms, so we build it foreach platfroms specificly.
- Cross-version are not suppoted.