Using IronPDF on Linux

IronPDF supports Linux for .NET 9, 8, 7, 6, 5 and .NET Core applications, as well as Docker, Azure, AWS, macOS, and (naturally) Windows.

Officially Supported Containerization and Hosting

Linux V1 related to Using IronPDF on Linux Docker related to Using IronPDF on Linux Azure 1 related to Using IronPDF on Linux Amazon Web Services related to Using IronPDF on Linux

Officially Supported Distros of Linux

Ubuntu V1 related to Using IronPDF on Linux Debian V1 related to Using IronPDF on Linux Centos V1 related to Using IronPDF on Linux

Tips for IronPDF on Linux

We recommend using .NET Core 8.0 and any other runtimes marked as LTS by Microsoft because they have guaranteed long-term support and are generally well-tested on Linux.

No code changes are required to run IronPDF on Linux. Generally, IronPDF works out of the box thanks to extensive testing and configuration by our engineers.

Linux support is important because many cloud services such as Azure Web Apps, Azure Functions, AWS EC2, AWS Lambda, and Azure DevOps Docker rely heavily on Linux. At Iron Software, we use these cloud tools regularly and understand that many of our enterprise and SAAS customers do too.

Read our extensive extensive documentation on using IronPDF on Docker if you need help with your setup. You can also use IronPDF on Linux from a Windows machine with WSL, which is another popular option.

Linux Specific Packages

NuGet

DLL Download

For offline usage, you can download the DLL and add a reference to your project.

Documentation regarding Linux packages and many more packages for specific Operating Systems can be found in our IronPDF advanced NuGet installation guide.

Officially Supported Linux Distros

We officially support and recommend the latest 64-bit Linux OSs below for "zero configuration" setup of IronPDF.

  • Ubuntu 22
  • Ubuntu 20
  • Ubuntu 18
  • Ubuntu 16
  • Debian 11
  • Debian 10
  • CentOS 8
  • Fedora Linux 33
  • Amazon AWS Linux 2

If installing IronPDF on an unsupported Linux version, see Common Dependency Patterns for Linux at the end of this document.

Hardware Specification

IronPDF uses Chromium to render HTML to PDF. The Chromium engine renders PDFs with pixel-perfect accuracy to Chrome's print feature. The hardware specifications mainly cater to running the Chromium engine, which requires significant computing power.

  • Minimum: 1 Core & 1.75 GB of RAM
  • Recommended: 2 Cores & 8 GB of RAM or above

Linux Automatic Setup

The default setting LinuxAndDockerDependenciesAutoConfig set to true will attempt to automatically install all dependencies for IronPDF to run on Linux. The first HTML-to-PDF operation may take longer than usual.

// Enables automatic configuration of dependencies for Linux
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
// Enables automatic configuration of dependencies for Linux
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
' Enables automatic configuration of dependencies for Linux
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
$vbLabelText   $csharpLabel

Ubuntu Compatibility

Ubuntu is our most tested Linux operating system, heavily used in the Azure infrastructure for continuous testing and deployment. This platform also has official Microsoft .NET support and Official Docker Images.

Ubuntu 20

Microsoft related to Ubuntu 20 Ubuntu V1 related to Ubuntu 20 Chrome V1 related to Ubuntu 20 Safari V1 related to Ubuntu 20 Docker related to Ubuntu 20 Azure 1 related to Ubuntu 20

We support Ubuntu 20 with zero configuration.

  • Support Chrome and WebKit based HTML to PDF rendering engines
  • Officially support .NET Core 3.1, 5, 6 (LTS), 7, and 8 runtimes
  • Unofficial support for many other .NET Core runtimes on Ubuntu 20
  • Conduct over 997 Unit tests on this platform before every release

Official Microsoft Docker Images:

Manual Ubuntu 20 Setup

If manual installation is necessary or your app cannot be run with sudo admin privileges. Set the IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig property to false and install the dependencies manually.

# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence1
apt install -y libgdiplus
apt install -y libva-dev

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence1
apt install -y libgdiplus
apt install -y libva-dev

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

Ubuntu 18

Microsoft related to Ubuntu 18 Ubuntu V1 related to Ubuntu 18 Chrome V1 related to Ubuntu 18 Safari V1 related to Ubuntu 18 Docker related to Ubuntu 18 Azure 1 related to Ubuntu 18

We support Ubuntu 18 out of the box with zero configuration.

  • Support Chrome and WebKit based HTML to PDF rendering engines
  • Official Support .NET Core 3.1 LTS and .NET 5 runtimes
  • Unofficially support many other .NET Core runtimes on Ubuntu 18 and 16
  • Conduct comprehensive smoke tests on this platform before every release

Official Microsoft Docker Images:

Manual Ubuntu 18 Setup

If manual installation is necessary or your app cannot be run with sudo admin privileges. Set the IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig property to false and install the dependencies manually.

# Update and install necessary libraries
apt update
apt install -y libc6
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence-dev

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Update and install necessary libraries
apt update
apt install -y libc6
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence-dev

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

Ubuntu 16

Ubuntu V1 related to Ubuntu 16 Test related to Ubuntu 16

We have limited support for Ubuntu 16. .NET on Ubuntu 16 is officially supported by Microsoft and is reported to work with IronPdf by many users. Developers may need to install additional dependencies manually.

  • Chrome and WebKit normally work with manual config.
  • .NET Core 3.1 LTS and .NET 5 runtimes have Microsoft support for Ubuntu 16.
  • There are currently no official Microsoft Docker images for Ubuntu 16.

Manual Ubuntu 16 Setup

If manual installation is necessary or your app cannot be run with sudo admin privileges. Set the IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig property to false and install the dependencies manually.

# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence-dev

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence-dev

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

Debian Compatibility

Debian is our second most tested Linux operating system. This platform also has official Microsoft .NET support and Official Docker Images.

Debian 11

Debian related to Debian 11 Microsoft related to Debian 11 Chrome V1 related to Debian 11 Safari V1 related to Debian 11 Docker related to Debian 11 Azure 1 related to Debian 11

We support Debian 11 out of the box with zero configuration.

  • Support Chrome and WebKit based HTML to PDF rendering engines
  • Officially support .NET Core 3.1, 5, 6 (LTS), 7, and 8 runtimes
  • Unofficial support for many other .NET Core runtimes on Debian 11
  • Conduct over 997 Unit tests on this platform before every release

Official Microsoft Docker Images:

Manual Debian 11 Setup

If manual installation is necessary or your app cannot be run with sudo admin privileges. Set the IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig property to false and install the dependencies manually.

# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libxkbcommon-x11-0
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence1

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libxkbcommon-x11-0
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence1

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

Debian 10

Debian related to Debian 10 Microsoft related to Debian 10 Chrome V1 related to Debian 10 Safari V1 related to Debian 10 Docker related to Debian 10 Azure 1 related to Debian 10

We support Debian 10 out of the box with zero configuration.

  • Support Chrome and WebKit based HTML to PDF rendering engines
  • Officially support .NET Core 3.1, 5, 6 (LTS), 7, and 8 runtimes
  • Unofficial support for many other .NET Core runtimes on Debian 10
  • Conduct over 997 Unit tests on this platform before every release

Official Microsoft Docker Images:

Manual Debian 10 Setup

If manual installation is necessary or your app cannot be run with sudo admin privileges. Set the IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig property to false and install the dependencies manually.

# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence1

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence1

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

Debian 9 and Lower

Debian related to Debian 9 and Lower Test related to Debian 9 and Lower

Debian 9 is not officially tested and will not work out-of-the-box with IronPdf. However, .NET on Debian 9 is officially supported by Microsoft and can work with IronPdf if set up correctly. Refer to Common Dependency Patterns for Linux at the end of this document.

There are no official Docker images by Microsoft for .NET Core 3.1 or .NET 5.0 on Debian 9. We highly recommend migrating to Debian 10.

CentOS Compatibility

Centos related to CentOS Compatibility Chrome V1 related to CentOS Compatibility Safari V1 related to CentOS Compatibility Test related to CentOS Compatibility

We actively support CentOS.

CentOS 8 Support

We support CentOS 8 out of the box with zero configuration.

  • Support Chrome and WebKit based HTML to PDF rendering engines
  • Officially support .NET Core 3.1, 5, 6 (LTS), 7, and 8 runtimes
  • Unofficial support for many other .NET Core runtimes on CentOS
  • Conduct comprehensive smoke tests on this platform before every release

Unfortunately, there are no official Docker images by Microsoft for .NET Core 3.1 or .NET 5.0 on CentOS 8.

Manual CentOS 8 Setup

If manual installation is necessary or your app cannot be run with sudo admin privileges:

Set IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;

# Update and install necessary libraries
dnf -y update
dnf -y install glibc-devel
dnf -y install nss
dnf -y install at-spi2-atk
dnf -y install libXcomposite
dnf -y install libXrandr
dnf -y install mesa-libgbm
dnf -y install alsa-lib
dnf -y install pango
dnf -y install cups-libs
dnf -y install libXdamage
dnf -y install libxshmfence

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Update and install necessary libraries
dnf -y update
dnf -y install glibc-devel
dnf -y install nss
dnf -y install at-spi2-atk
dnf -y install libXcomposite
dnf -y install libXrandr
dnf -y install mesa-libgbm
dnf -y install alsa-lib
dnf -y install pango
dnf -y install cups-libs
dnf -y install libXdamage
dnf -y install libxshmfence

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

CentOS 7 and Lower

CentOS 7 has not been tested and will not work out-of-the-box with IronPdf.

However, .NET on CentOS 7 is officially supported by Microsoft and would likely work with IronPdf if set up correctly. Please read Common Dependency Patterns for Linux below.

There are no official Docker images by Microsoft for .NET Core 3.1 or .NET 5.0 on CentOS 7.

Amazon AWS Linux 2 Compatibility

Amazon Web Services related to Amazon AWS Linux 2 Compatibility Chrome V1 related to Amazon AWS Linux 2 Compatibility Safari V1 related to Amazon AWS Linux 2 Compatibility Test related to Amazon AWS Linux 2 Compatibility

We have working support for Amazon AWS Linux 2, which forms the basis of Amazon's cloud services such as EC2 and Lambda.

  • There are no official Docker images by Microsoft for .NET Core 3.1 or .NET 5.0 on Amazon AWS Linux 2.
  • We manually test for Amazon AWS Linux 2 compatibility as we develop IronPDF.

We recommend that you read our IronPDF AWS Lambda guide, which contains a working Docker file for IronPdf on AWS Lambda.

Amazon Linux 2 Manual Setup

If manual installation is necessary or your app cannot be run with sudo admin privileges. Set the IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig property to false and install the dependencies manually.

# Update and install necessary libraries
yum update -y
yum install -y pango.x86_64
yum install -y libXcomposite.x86_64
yum install -y libXcursor.x86_64
yum install -y libXdamage.x86_64
yum install -y libXext.x86_64
yum install -y libXi.x86_64
yum install -y libXtst.x86_64
yum install -y cups-libs.x86_64
yum install -y libXScrnSaver.x86_64
yum install -y libXrandr.x86_64
yum install -y GConf2.x86_64
yum install -y alsa-lib.x86_64
yum install -y atk.x86_64
yum install -y gtk3.x86_64
yum install -y ipa-gothic-fonts
yum install -y xorg-x11-fonts-100dpi
yum install -y xorg-x11-fonts-75dpi
yum install -y xorg-x11-utils
yum install -y xorg-x11-fonts-cyrillic
yum install -y xorg-x11-fonts-Type1
yum install -y xorg-x11-fonts-misc
yum install -y glibc-devel.x86_64
yum install -y at-spi2-atk.x86_64
yum install -y mesa-libgbm.x86_64
yum install -y libxkbcommon

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Update and install necessary libraries
yum update -y
yum install -y pango.x86_64
yum install -y libXcomposite.x86_64
yum install -y libXcursor.x86_64
yum install -y libXdamage.x86_64
yum install -y libXext.x86_64
yum install -y libXi.x86_64
yum install -y libXtst.x86_64
yum install -y cups-libs.x86_64
yum install -y libXScrnSaver.x86_64
yum install -y libXrandr.x86_64
yum install -y GConf2.x86_64
yum install -y alsa-lib.x86_64
yum install -y atk.x86_64
yum install -y gtk3.x86_64
yum install -y ipa-gothic-fonts
yum install -y xorg-x11-fonts-100dpi
yum install -y xorg-x11-fonts-75dpi
yum install -y xorg-x11-utils
yum install -y xorg-x11-fonts-cyrillic
yum install -y xorg-x11-fonts-Type1
yum install -y xorg-x11-fonts-misc
yum install -y glibc-devel.x86_64
yum install -y at-spi2-atk.x86_64
yum install -y mesa-libgbm.x86_64
yum install -y libxkbcommon

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

Please also read our documentation on our official support IronPdf for AWS Lambda that includes installation and logging on the Amazon cloud platform.

Fedora Linux Compatibility

Fedora Linux is supported out of the box with zero configuration.

  • Support Chrome and WebKit based HTML to PDF rendering engines
  • Officially support .NET Core 3.1, 5, 6 (LTS), 7, and 8 runtimes
  • Conduct comprehensive smoke tests on this platform before every release

Manual Fedora Linux Setup

If manual installation is necessary or your app cannot be run with sudo admin privileges. Set the IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig property to false and install the dependencies manually.

# Install necessary libraries
dnf -y install glibc-devel
dnf -y install nss
dnf -y install at-spi2-atk
dnf -y install libXcomposite
dnf -y install libXrandr
dnf -y install mesa-libgbm
dnf -y install alsa-lib
dnf -y install pango
dnf -y install cups-libs
dnf -y install libXdamage
dnf -y install libxshmfence

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Install necessary libraries
dnf -y install glibc-devel
dnf -y install nss
dnf -y install at-spi2-atk
dnf -y install libXcomposite
dnf -y install libXrandr
dnf -y install mesa-libgbm
dnf -y install alsa-lib
dnf -y install pango
dnf -y install cups-libs
dnf -y install libXdamage
dnf -y install libxshmfence

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

Alpine Linux Compatibility

Running IronPDF on Alpine Linux is not supported. As of 2023, Alpine still uses outdated "musl" C language libraries that do not allow chromium developers to fully support this OS yet.

Using Alpine Docker with IronPdfEngine in .NET 6

IronPdf provides a container image containing all IronPdf functionalities. This enables projects running on Alpine to access IronPdf functionalities by connecting to the IronPdfEngine container.

Step 1: Pull and Run IronPdf Engine Docker Image

Execute the following commands in your terminal to pull and run the IronPdf Engine Docker image:

# Pull the IronPdfEngine Docker image
docker pull ironsoftwareofficial/ironpdfengine

# Run the IronPdfEngine container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
# Pull the IronPdfEngine Docker image
docker pull ironsoftwareofficial/ironpdfengine

# Run the IronPdfEngine container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
SHELL

Step 2: Set Up Console App

  • Create a new console application targeting .NET 6.
  • Install the IronPdf.Slim NuGet package using the NuGet Package Manager.

Learn more about how to use IronPdfEngine.

Other Linux Distros

You can manually install IronPDF prerequisites for Linux using apt-get, hfs, and yum. This allows you to use IronPDF on many unofficially supported Linux distros.

During the first-time installation, IronPDF may throw exceptions to inform you of any necessary system dependencies.

  • IronCefSubprocess mentioned is a binary within your application's bin folder. You may need to specify an exact path, which may be in the runtimes subdirectory of bin.
  • You may need sudo privileges.

If you are uncertain how to proceed with an unlisted Linux OS, investigate the dependencies for the Chromium browser on that OS.

To request official support for a different Linux distro, please contact support@ironsoftware.com.

Common Dependency Patterns for Linux

Please refer to the dependency packages for other Linux OSs above.

# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence1

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
# Update and install necessary libraries
apt update
apt install -y libc6-dev
apt install -y libgtk2.0-0
apt install -y libnss3
apt install -y libatk-bridge2.0-0
apt install -y libx11-xcb1
apt install -y libxcb-dri3-0
apt install -y libdrm-common
apt install -y libgbm1
apt install -y libasound2
apt install -y libappindicator3-1
apt install -y libxrender1
apt install -y libfontconfig1
apt install -y libxshmfence1

# Change permissions for IronCefSubprocess
chmod 755 IronCefSubprocess
# Note: IronCefSubprocess is normally found at bin/runtimes/linux-x64/
SHELL

Identify Missing Dependencies

ldd is a powerful tool for diagnosing missing dependencies. By running ldd IronInterop.so, you can see a list of all shared libraries an application requires. A "not found" message next to a library, like libcef.so => not found, indicates a critical missing dependency that will prevent the program from running correctly. The IronInterop.so file is located in the native folder of the specific OS. For example, bin/Debug/net6.0/runtimes/linux-x64/native.

ldd IronInterop.so
ldd IronInterop.so
SHELL

IronCefSubprocess

IronCefSubprocess is a binary file within your application's bin folder. It needs to be executable by the .NET process.

# Change permissions for IronCefSubprocess
chmod 755 bin/runtimes/linux-64/IronCefSubprocess
# Change permissions for IronCefSubprocess
chmod 755 bin/runtimes/linux-64/IronCefSubprocess
SHELL

Frequently Asked Questions

How can I convert HTML to PDF in C# on Linux?

You can use IronPDF's RenderHtmlAsPdf method to convert HTML strings into PDFs on Linux. This allows you to generate PDF documents directly from HTML content.

What are the system requirements for using PDF libraries on Linux?

To use IronPDF on Linux, the minimum hardware requirements are 1 Core and 1.75 GB of RAM. For optimal performance, it is recommended to have 2 Cores and 8 GB of RAM, leveraging the Chromium engine for rendering.

Which Linux distributions are compatible with PDF generation tools?

IronPDF supports Ubuntu 22, 20, 18, 16, Debian 11, 10, CentOS 8, Fedora Linux 33, and Amazon AWS Linux 2 for PDF generation, providing a zero-configuration setup for seamless integration.

Can I integrate PDF generation with Docker on Linux?

Yes, IronPDF can be integrated with Docker on Linux. By setting LinuxAndDockerDependenciesAutoConfig to true, IronPDF will attempt to automatically install all necessary dependencies for running within Docker.

How do I install PDF generation tools on a Linux environment?

Install IronPDF on Linux using the NuGet package IronPdf.Linux or download the DLL from the IronPDF website. Ensure all dependencies are properly installed and that IronCefSubprocess is set as executable.

Which .NET versions are suitable for PDF generation on Linux platforms?

IronPDF supports .NET 9, 8, 7, 6, 5, and .NET Core for PDF generation on Linux. It is advisable to use long-term support (LTS) versions like .NET Core 3.1 for stability and performance.

Is it feasible to run PDF generation on Alpine Linux?

Direct usage of IronPDF on Alpine Linux is unsupported due to compatibility issues with musl C libraries. However, using an IronPdfEngine Docker container can facilitate PDF functionalities on Alpine.

What should I do if I encounter a missing dependency error with PDF tools on Linux?

If a missing dependency error occurs, manually install the necessary packages using package managers like apt-get, dnf, or yum, based on your Linux distribution's requirements.

Can unsupported Linux distributions use PDF generation tools?

IronPDF may be used on unsupported Linux distributions by manually installing required dependencies. Consulting Chromium dependencies is recommended for guidance on manual installations.

How can I enhance PDF generation performance in a Linux environment?

To optimize IronPDF on Linux, ensure LinuxAndDockerDependenciesAutoConfig is enabled for automatic dependency setup. Utilize Linux-optimized NuGet packages and establish a writable directory for temporary files.

Is there a specific guide for setting up PDF tools on AWS Lambda?

Yes, IronPDF provides an AWS Lambda Setup Guide available on their website, offering detailed instructions on configuring IronPDF for use within AWS Lambda environments.

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.