Using IronPDF on Linux
Compatibility & Setup Guide
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




Officially Supported Distros of Linux



Tips for IronPDF on Linux
We recommend using .NET Core 3.1 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.
Linux Specific Packages
NuGet
DLL Download
For offline usage, you can download the DLL and add a reference to your project.
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
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 (Currently the Microsoft Azure Default Linux Distro)
- Debian 10
- CentOS 8
- Fedora Linux 33
- Amazon AWS Linux 2
Read the AWS Lambda Setup Guide for IronPdf.
If installing IronPDF on an unsupported Linux version, see Common Dependency Patterns for Linux at the end of this document.
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 and Docker
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
// Enables automatic configuration of dependencies for Linux and Docker
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
' Enables automatic configuration of dependencies for Linux and Docker
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
Linux Optimized NuGet Packages
To install the Linux-optimized NuGet packages for IronPDF, use the following command:
dotnet add package IronPdf.Linux
Documentation regarding these packages can be found in our IronPDF advanced NuGet installation guide.
Develop on a Windows or macOS machine using this Linux-optimized package.
Alternatively, download the DLL for Linux directly.
Docker + Linux Setup
Please read our extensive documentation on using IronPDF on Docker if you need help setting up a Docker image that will use IronPDF.
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






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:
- 64-bit Ubuntu 20.04 Docker Image for .NET Runtime 3.1 ('3.1-focal')
- 64-bit Ubuntu 20.04 Docker Image for .NET Runtime 5.0 ('5.0-focal')
Manual Ubuntu 20 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
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/
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:
- 64-bit Ubuntu 18.04 Docker Image for .NET Runtime 3.1 ('3.1-bionic')
- Although there is no official docker image for .NET 5 on Ubuntu 18, compatibility is very high.
Manual Ubuntu 18 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
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/
Ubuntu 16


We have limited/unofficial support for Ubuntu 16. Ubuntu 16 has not been rigorously tested with IronPdf.
.NET on Ubuntu 16 is officially supported by Microsoft and is reported to work with IronPdf by many users. Developers may need to install apt-get 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 IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
# 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/
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 11 is the default Linux distribution used by Microsoft when adding Docker support to a .NET project in Visual Studio.
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:
- 64-bit Debian 11 Docker Image for .NET Runtime 3.1
- 64-bit Debian 11 Docker Image for .NET Runtime 5.0
Manual Debian 11 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
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/
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:
- 64-bit Debian 10 Docker Image for .NET Runtime 3.1
- 64-bit Debian 10 Docker Image for .NET Runtime 5.0
Manual Debian 10 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
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/
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




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/
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




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 IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
# 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/
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 IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
# 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/
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
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.
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 unsupported 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 ofbin
. - 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/
IronCefSubprocess
IronCefSubprocess is a binary file within your application's bin
folder. It needs to be executable by the .NET process.
E.g., (path may vary)
# Change permissions for IronCefSubprocess
chmod 755 bin/runtimes/linux-64/IronCefSubprocess
# Change permissions for IronCefSubprocess
chmod 755 bin/runtimes/linux-64/IronCefSubprocess
dotnet single-file publishing in Linux
If you choose to export your project using single-file publishing on Linux, use the following command:
dotnet publish -r linux-x64 /property:PublishProfile=FolderProfile /bl
Temporary File Paths
Developers may need to specify a writable directory where temporary files can be created for some use cases.
A common, safe value for this path in Linux is /tmp/
, but ultimately it must be a path where the user can read and write files.
// Set IronPDF Temp Path
string tmpPath = @"/tmp/";
IronPdf.Logging.Logger.LogFilePath = tmpPath;
Environment.SetEnvironmentVariable("TEMP", tmpPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", tmpPath, EnvironmentVariableTarget.Process);
IronPdf.Installation.TempFolderPath = tmpPath;
IronPdf.Installation.CustomDeploymentDirectory = tmpPath;
// Set IronPDF Temp Path
string tmpPath = @"/tmp/";
IronPdf.Logging.Logger.LogFilePath = tmpPath;
Environment.SetEnvironmentVariable("TEMP", tmpPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", tmpPath, EnvironmentVariableTarget.Process);
IronPdf.Installation.TempFolderPath = tmpPath;
IronPdf.Installation.CustomDeploymentDirectory = tmpPath;
' Set IronPDF Temp Path
Dim tmpPath As String = "/tmp/"
IronPdf.Logging.Logger.LogFilePath = tmpPath
Environment.SetEnvironmentVariable("TEMP", tmpPath, EnvironmentVariableTarget.Process)
Environment.SetEnvironmentVariable("TMP", tmpPath, EnvironmentVariableTarget.Process)
IronPdf.Installation.TempFolderPath = tmpPath
IronPdf.Installation.CustomDeploymentDirectory = tmpPath
Frequently Asked Questions
What are the system requirements for running PDF generation on Linux?
The minimum hardware requirements for running IronPDF on Linux are 1 Core and 1.75 GB of RAM. The recommended specifications are 2 Cores and 8 GB of RAM or above. IronPDF uses the Chromium engine to render HTML to PDF, requiring significant computing power.
Which Linux distributions are officially supported for generating PDFs?
IronPDF officially supports Ubuntu 22, 20, 18, 16, Debian 11, 10, CentOS 8, Fedora Linux 33, and Amazon AWS Linux 2. These distributions allow for a zero-configuration setup of IronPDF.
Can PDF tools be used with Docker on Linux?
Yes, IronPDF can be used with Docker on Linux. The default setting LinuxAndDockerDependenciesAutoConfig set to true will attempt to automatically install all dependencies required for IronPDF to run on Linux through Docker.
How do I install a PDF library on a Linux system?
You can install IronPDF on Linux by using the NuGet package IronPdf.Linux or by downloading the DLL from the IronPDF website. For manual installation, ensure that the necessary dependencies are installed and that IronCefSubprocess is executable.
What .NET versions are supported for PDF generation on Linux?
IronPDF supports .NET 9, 8, 7, 6, 5, and .NET Core applications on Linux. It is recommended to use runtimes marked as LTS by Microsoft for guaranteed long-term support.
Is it possible to run PDF generation tools on Alpine Linux?
Running IronPDF directly on Alpine Linux is not supported due to its use of outdated musl C libraries. However, you can use an IronPdfEngine Docker container to utilize IronPDF functionalities on Alpine.
What if I encounter a missing dependency error when installing PDF tools on Linux?
If you encounter a missing dependency error, you can manually install the necessary packages using package managers like apt-get, dnf, or yum, according to your Linux distribution's requirements.
Can PDF generation tools be used on unsupported Linux distributions?
IronPDF can potentially be used on unsupported Linux distributions by manually installing the required dependencies. It's recommended to consult the Chromium browser dependencies for guidance.
How can I optimize PDF generation for running in a Linux environment?
To optimize IronPDF for Linux, ensure that the LinuxAndDockerDependenciesAutoConfig is enabled for automatic dependency installation. Also, use the Linux-optimized NuGet packages and set up a writable directory for temporary files when needed.
Is there a guide for setting up PDF tools on AWS Lambda?
Yes, there is an AWS Lambda Setup Guide available on the IronPDF website, which provides instructions on configuring IronPDF for use in AWS Lambda environments.