Usando IronPDF en Linux
Guía de Compatibilidad y Configuración
IronPDF soporta Linux para .NET 9, 8, 7, 6, 5 y aplicaciones de .NET Core, así como Docker, Azure, AWS, macOS y (naturalmente) Windows.
Soporte oficial de contenedorización y alojamiento




Distribuciones de Linux oficialmente compatibles



Consejos para IronPDF en Linux
Recomendamos usar .NET Core 3.1 y cualquier otro entorno de ejecución marcado como LTS por Microsoft porque tienen garantía de soporte a largo plazo y generalmente están bien probados en Linux.
No es necesario modificar el código para ejecutar IronPDF en Linux. Por lo general, IronPDF funciona nada más sacarlo de la caja gracias a cientos de horas de pruebas y configuración por parte de nuestros ingenieros.
La compatibilidad con Linux es importante porque muchos servicios en la nube como Azure Web Apps, Azure Functions, AWS EC2, AWS Lambda, Azure Devops Docker dependen en gran medida de Linux. En Iron Software utilizamos estas herramientas en la nube con regularidad y entendemos que muchos de nuestros clientes empresariales y de SAAS también lo hacen,
Paquetes Específicos de Linux
NuGet
Descarga de DLL
Para uso sin conexión, puedes descargar el DLL y agregar una referencia a tu proyecto.
- IronPdf.Linux.zip
Especificación de hardware
IronPDF utiliza Chromium para convertir HTML en PDF. El motor de Chromium renderiza los PDF con precisión de píxeles con la función de impresión de Chrome. Las especificaciones de hardware se refieren principalmente a la ejecución del motor Chromium, que consume la mayor parte de la potencia de cálculo.
- Mínimo : 1 núcleo y 1,75 GB de RAM
- Recomendado : 2 núcleos y 8 GB de RAM o superior
Distros Linux oficialmente compatibles
Apoyamos oficialmente y recomendamos las últimas versiones de 64 bits de sistemas operativos Linux que se detallan a continuación para la configuración "sin configuración" de IronPDF.
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
- Ubuntu 16
- Debian 11 [Actualmente la distribución de Linux predeterminada de Microsoft Azure]
- Debian 10
- CentOS 8
- Fedora Linux 33
Amazon AWS Linux 2 Lea la Guía de configuración de AWS Lambda para IronPdf
Lea "Otras distribuciones de Linux" a continuación para obtener consejos sobre la instalación de IronPdf en una versión de Linux que no está oficialmente compatible.
Recomendamos usar las imágenes oficiales de Docker de Microsoft. Otras distribuciones de Linux son compatibles en parte, pero pueden requerir una configuración manual mediante apt-get. Vea "Patrones comunes de dependencias para Linux" al final de este documento.
Configuración automática de Linux
La configuración predeterminada LinuxAndDockerDependenciesAutoConfig
true intentará automáticamente instalar todas las dependencias para que IronPDF funcione en Linux. La primera operación de conversión de html a pdf puede tardar más de lo habitual.
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
Paquetes NuGet optimizados para Linux
Install-Package IronPdf.Linux
Hay paquetes NuGet disponibles para implementaciones de IronPDF optimizadas para Linux, documentados en nuestra guía de instalación avanzada de NuGet de IronPDF.
Puede utilizar este paquete optimizado para Linux e incluso desarrollar en una máquina Windows o macOS.
Alternativamente, puedes descargar directamente el DLL para Linux.
Configuración de Docker + Linux
Por favor, lea nuestra extensa documentación sobre el uso de IronPDF en Docker si necesita ayuda para configurar una imagen de Docker que utilizará IronPDF.
Compatibilidad con Ubuntu
Ubuntu es nuestro sistema operativo Linux más probado. Esto se debe a que se utiliza en gran medida en la infraestructura de Azure que utilizamos para pruebas y despliegues continuos. Esta plataforma también cuenta con compatibilidad oficial con Microsoft .NET e imágenes Docker oficiales.
Ubuntu 20






Apoyamos Ubuntu 20 fuera de la caja con cero configuración.
- Soporta motores de renderizado de HTML a PDF basados en Chrome y WebKit
- Soporte oficial para los runtimes .NET Core 3.1, 5, 6 (LTS), 7 y 8
- Extraoficialmente admitimos muchos otros tiempos de ejecución de .NET Core en Ubuntu 20
Realizamos más de 997 pruebas unitarias en esta plataforma antes de cada lanzamiento.
Imágenes oficiales de Docker de Microsoft:
- Imagen de Docker de Ubuntu 20.04 de 64 bits para .NET Runtime 3.1 ('3.1-focal')
Imagen de Docker de Ubuntu 20.04 de 64 bits para .NET Runtime 5.0 ('5.0-focal')
Configuración Manual de Ubuntu 20
Si desea instalar manualmente o su aplicación no se puede ejecutar con sudo privilegios de administrador.
Establecer
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
- IronCefSubprocess mencionado a continuación es un binario dentro de la carpeta bin de su aplicación. Es posible que necesite especificar una ruta exacta que puede estar en el subdirectorio
runtimes
debin
. - Es posible que necesites privilegios de
sudo
.
Ubuntu 18






Apoyamos Ubuntu 18 fuera de la caja con cero configuración.
- Soporta motores de renderizado de HTML a PDF basados en Chrome y WebKit
- Soporte Oficial .NET Core 3.1 LTS y .NET 5 runtimes
- Extraoficialmente soportamos muchos otros tiempos de ejecución .NET Core en Ubuntu 18 e incluso 16
Realizamos pruebas de humo exhaustivas en esta plataforma antes de cada lanzamiento.
Imágenes oficiales de Docker de Microsoft:
- Imagen Docker de Ubuntu 18.04 de 64 bits para .NET Runtime 3.1 ('3.1-bionic')
Aunque no existe una imagen docker oficial para .NET 5 en Ubuntu 18, la compatibilidad es muy alta.
Configuración manual de Ubuntu 18
Si desea instalar manualmente o su aplicación no se puede ejecutar con sudo privilegios de administrador.
Establecer
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
Ubuntu 16


Sólo tenemos soporte limitado / no oficial Ubuntu 16. Ubuntu 16 no ha sido rigurosamente probado con IronPdf.
.NET en Ubuntu 16 está soportado oficialmente por Microsoft y muchos usuarios dicen que funciona con IronPdf. Es posible que los desarrolladores tengan que instalar manualmente las dependencias de apt-get.
- Chrome y WebKit normalmente funcionan con configuración manual.
- .NET Core 3.1 LTS y runtimes de .NET 5 tienen soporte de Microsoft para Ubuntu 16.
Actualmente no hay imágenes Docker oficiales de Microsoft para Ubuntu 16.
Configuración Manual de Ubuntu 16
Si desea instalar manualmente o su aplicación no se puede ejecutar con sudo privilegios de administrador.
Establecer
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
Compatibilidad con Debian
Debian es nuestro segundo sistema operativo Linux más probado. Esta plataforma también cuenta con compatibilidad oficial con Microsoft.NET e imágenes Docker oficiales.
Debian 11






Debian 11 es la distribución Linux por defecto que utiliza Microsoft cuando añade compatibilidad con Docker a un proyecto .NET en Visual Studio.
Apoyamos Debian 11 fuera de la caja con cero configuración.
- Soporta motores de renderizado de HTML a PDF basados en Chrome y WebKit
- Soporte oficial para los runtimes .NET Core 3.1, 5, 6 (LTS), 7 y 8
- Extraoficialmente admitimos muchos otros tiempos de ejecución de .NET Core en Debian 11
Realizamos más de 997 pruebas unitarias en esta plataforma antes de cada lanzamiento.
Imágenes oficiales de Docker de Microsoft:
- Imagen de Docker de 64 bits de Debian 11 para .NET Runtime 3.1
Imagen Docker de Debian 11 de 64 bits para .NET Runtime 5.0
Configuración Manual de Debian 11
Si desea instalar manualmente o su aplicación no se puede ejecutar con sudo privilegios de administrador.
Establecer
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
Debian 10






Apoyamos Debian 10 fuera de la caja con cero configuración.
- Soporta motores de renderizado de HTML a PDF basados en Chrome y WebKit
- Soporte oficial para los runtimes .NET Core 3.1, 5, 6 (LTS), 7 y 8
- Extraoficialmente admitimos muchos otros tiempos de ejecución de .NET Core en Debian 10
Realizamos más de 997 pruebas unitarias en esta plataforma antes de cada lanzamiento.
Imágenes oficiales de Docker de Microsoft:
- Imagen Docker Debian 10 de 64 bits para .NET Runtime 3.1
Imagen Docker de Debian 10 de 64 bits para .NET Runtime 5.0
Configuración Manual de Debian 10
Si desea instalar manualmente o su aplicación no se puede ejecutar con sudo privilegios de administrador.
Establecer
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
Debian 9 e inferiores


Debian 9 no ha sido probado oficialmente y no funcionará con IronPdf. Sin embargo, Microsoft admite oficialmente .NET en Debian 9 y puede funcionar con IronPdf si se configura correctamente.
(Vea "Patrones Comunes de Dependencias para Linux" al final de este documento).
No hay imágenes Docker oficiales de Microsoft para .NET Core 3.1 o .NET 5.0 en Debian 9. Recomendamos encarecidamente migrar a Debian 10.
Compatibilidad con CentOS




Nos gusta y apoyamos activamente CentOS.
Soporte CentOS 8
Apoyamos CentOS 8 fuera de la caja con cero configuración.
- Soporta motores de renderizado de HTML a PDF basados en Chrome y WebKit
- Soporte oficial para los runtimes .NET Core 3.1, 5, 6 (LTS), 7 y 8
- Extraoficialmente admitimos muchos otros tiempos de ejecución de .NET Core en CentOS
Realizamos pruebas de humo exhaustivas en esta plataforma antes de cada lanzamiento.
Lamentablemente, no hay imágenes Docker oficiales de Microsoft para .NET Core 3.1 o .NET 5.0 en CentOS 8.
Configuración manual de CentOS 8
Si desea instalar manualmente o su aplicación no se puede ejecutar con sudo privilegios de administrador.
Establecer
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
CentOS 7 e inferiores
CentOS 7 no ha sido probado y no funcionará con IronPdf.
Sin embargo, .NET en CentOS 7 es oficialmente compatible con Microsoft y probablemente funcionaría con IronPdf si se configura correctamente (por favor, lea "Patrones Comunes de Dependencias para Linux" a continuación).
No hay imágenes Docker oficiales de Microsoft para .NET Core 3.1 o .NET 5.0 en CentOS 7.
Compatibilidad con Amazon AWS Linux 2




Tenemos soporte de trabajo para Amazon AWS Linux 2 que forma la base de los servicios en la nube de Amazon como EC2 y Lambda.
- No existen imágenes Docker oficiales de Microsoft para .NET Core 3.1 o .NET 5.0 en Amazon AWS Linux 2.
Probamos manualmente la compatibilidad con Amazon AWS Linux 2 a medida que desarrollamos IronPDF.
Recomendamos que lea nuestra guía de IronPDF AWS Lambda que contiene un archivo Docker funcional para IronPdf en AWS Lambda.
Configuración Manual de Amazon Linux 2
Si desea instalar manualmente o su aplicación no se puede ejecutar con sudo privilegios de administrador.
Establecer
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
Por favor, lea también nuestra documentación en nuestro soporte oficial IronPdf for AWS Lambda que incluye la instalación y el registro en la plataforma en la nube de Amazon.
Compatibilidad con Fedora Linux
Fedora Linux es compatible.
Apoyamos Fedora Linux 33 fuera de la caja con cero configuración.
- Soporta motores de renderizado de HTML a PDF basados en Chrome y WebKit
- Soporte oficial para los runtimes .NET Core 3.1, 5, 6 (LTS), 7 y 8
Realizamos pruebas de humo exhaustivas en esta plataforma antes de cada lanzamiento.
Configuración manual de Fedora Linux
Si desea instalar manualmente o su aplicación no se puede ejecutar con sudo privilegios de administrador.
Esto también puede ayudar con versiones antiguas o nuevas de Fedora Linux.
Establecer
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
Compatibilidad Alpine Linux
No es posible ejecutar IronPDF en Alpine Linux. Ojalá pudiéramos, pero no podemos. Francamente, nos gusta Alpine y esperamos que este proyecto continúe y crezca. A partir de 2023, Alpine todavía utiliza librerías de lenguaje C "musl" obsoletas que no permiten a los desarrolladores de chromium soportar completamente este SO todavía.
Uso de Alpine Docker con IronPdfEngine en .NET 6
IronPdf proporciona una imagen contenedora que contiene todas las funcionalidades de IronPdf. Esto permite a los proyectos que se ejecutan en Alpine acceder a las funcionalidades de IronPdf conectándose al contenedor IronPdfEngine.
Paso 1: Extraer y ejecutar la imagen Docker del motor IronPdf
Ejecute los siguientes comandos en su terminal para extraer y ejecutar la imagen Docker del motor IronPdf:
docker pull ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
Paso 2: Configurar la aplicación de consola
Cree una nueva aplicación de consola orientada a .NET 6.
Instale el paquete NuGet IronPdf.Slim mediante el gestor de paquetes NuGet.
Otras distribuciones de Linux
También puede instalar manualmente los requisitos previos de IronPDF para Linux utilizando apt-get hfs y yum
Esto le permite utilizar IronPDF en muchas distribuciones Linux no compatibles.
Generalmente durante la instalación por primera vez IronPDF lanzará excepciones para informarle de cualquier dependencia necesaria del sistema.
- IronCefSubprocess mencionado a continuación es un binario dentro de la carpeta bin de su aplicación. Es posible que necesite especificar una ruta exacta que puede estar en el subdirectorio
runtimes
debin
. Es posible que necesites privilegios de
sudo
.Si no está seguro de cómo proceder con un sistema operativo Linux no incluido en la lista; investigar las dependencias para el navegador Chromium en ese sistema operativo.
Si desea votar a favor del apoyo oficial a otra distribución Linux, póngase en contacto con support@ironsoftware.com.
Patrones Comunes de Dependencias para Linux
Por favor, estudie también los paquetes de dependencia para otros sistemas operativos Linux.
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
chmod 755 IronCefSubprocess
# (IronCefSubprocess is normally found at bin/runtimes/linux-x64/)
IronCefSubprocess
IronCefSubprocess es un archivo binario dentro de la carpeta bin
de su aplicación. Tiene que ser ejecutable por el proceso .NET.
P. ej. (la ruta puede variar)
chmod 755 bin/runtimes/linux-64/IronCefSubprocess
dotnet single-file publishing en Linux
Si decide exportar su proyecto como publicación de archivo único en Linux, así es como debe hacerlo.
dotnet publish -r linux-x64 /property:PublishProfile=FolderProfile /bl
Rutas de archivos temporales
Los desarrolladores pueden necesitar especificar un directorio con permisos de escritura donde se puedan crear archivos temporales para algunos casos de uso.
Un valor común y seguro para esta ruta es /tmp/
en Linux, pero en última instancia debe ser una ruta donde el usuario pueda leer y escribir archivos.
//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