Guía de instalación y compatibilidad de IronPDF con Linux
IronPDF es compatible con Linux para aplicaciones .NET 8, 7, 6, 5 y .NET Core, así como con Docker, Azure, AWS, macOS y (naturalmente) Ventanas. Recomendamos utilizar .NET Core 3.1 y cualquier otro tiempo de ejecución marcado como LTS de Microsoft porque tienen garantizado el soporte a largo plazo y suelen estar 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,
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 los últimos sistemas operativos Linux de 64 bits para una configuración "cero" de IronPDF.
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
- Ubuntu 16
- Debian 11 [Actualmente la distribución Linux predeterminada de Microsoft Azure]
- Debian 10
- CentOS 8
- Fedora Linux 33
Amazon AWS Linux 2 Lea el Guía de configuración de AWS Lambda para IronPdf
Lea "Otras distribuciones de Linux" más abajo para obtener consejos sobre la instalación de IronPdf en una versión de Linux que no esté oficialmente soportada.
Recomendamos utilizar la aplicación de Microsoft Imágenes Docker oficiales. Otras distribuciones de Linux son compatibles en parte, pero pueden requerir una configuración manual mediante apt-get. Ver "Patrones de dependencia habituales en Linux"al final de este documento.
Configuración automática de Linux
La configuración por defecto LinuxAndDockerDependenciesAutoConfig
true intentará instalar automáticamente 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 IronPDF optimizadas para Linux documentadas en nuestra sección Guía de instalación avanzada de NuGet para IronPDF.
Puede utilizar este paquete optimizado para Linux e incluso desarrollar en una máquina Windows o macOS.
También puede descargar la DLL para Linux.
Configuración de Docker + Linux
Lea nuestro amplia documentación sobre el uso de IronPDF en Docker si necesita ayuda para configurar una imagen Docker que utilice 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.
- Compatibilidad con motores de conversión de HTML a PDF basados en Chrome y **WebKit
- Compatibilidad oficial con .NET Core 3.1, 5, 6 (LTS), 7 y 8 tiempos de ejecución
- 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 Docker oficiales de Microsoft:
- Imagen Docker de Ubuntu 20.04 de 64 bits para .NET Runtime 3.1 (3.1-focal)
Imagen Docker Ubuntu 20.04 de 64 bits para .NET Runtime 5.0 (5.0-focal)
Instalació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/)
- El IronCefSubprocess mencionado a continuación es un binario dentro de la carpeta bin de su aplicación. Es posible que tenga que especificar una ruta exacta que puede estar en el subdirectorio
runtimes
debin
. - Es posible que necesite privilegios
sudo
.
Ubuntu 18
Apoyamos Ubuntu 18 fuera de la caja con cero configuración.
- Compatibilidad con motores de conversión de HTML a PDF basados en Chrome y **WebKit
- Compatibilidad oficial con .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 Docker oficiales de Microsoft:
- Imagen Docker de Ubuntu 18.04 de 64 bits para .NET Runtime 3.1 (3.1-biónico)
Aunque no existe una imagen docker oficial para .NET 5 en Ubuntu 18, la compatibilidad es muy alta.
Instalació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 funcionan normalmente con configuración manual.
- Los tiempos de ejecución de .NET Core 3.1 LTS y .NET 5 tienen soporte de Microsoft para Ubuntu 16.
Actualmente no hay imágenes Docker oficiales de Microsoft para Ubuntu 16.
Instalació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.
- Compatibilidad con motores de conversión de HTML a PDF basados en Chrome y **WebKit
- Compatibilidad oficial con .NET Core 3.1, 5, 6 (LTS), 7 y 8 tiempos de ejecución
- 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 Docker oficiales de Microsoft:
- Imagen Docker Debian 11 de 64 bits para .NET Runtime 3.1
Imagen Docker 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.
- Compatibilidad con motores de conversión de HTML a PDF basados en Chrome y **WebKit
- Compatibilidad oficial con .NET Core 3.1, 5, 6 (LTS), 7 y 8 tiempos de ejecución
- 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 Docker oficiales de Microsoft:
- Imagen Docker Debian 10 de 64 bits para .NET Runtime 3.1
Imagen Docker 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. (Ver "Patrones de dependencia habituales en 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.
- Compatibilidad con motores de conversión de HTML a PDF basados en Chrome y **WebKit
- Compatibilidad oficial con .NET Core 3.1, 5, 6 (LTS), 7 y 8 tiempos de ejecución
- 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.
**Instalació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.
No obstante, Microsoft admite oficialmente .NET en CentOS 7 y es probable que funcione con IronPdf si se configura correctamente. (lea por favor "Patrones de dependencia habituales en 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.
Le recomendamos que lea nuestro 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/)
Lea también nuestra documentación en nuestro soporte oficial IronPdf para 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.
- Compatibilidad con motores de conversión de HTML a PDF basados en Chrome y **WebKit
- Compatibilidad oficial con .NET Core 3.1, 5, 6 (LTS), 7 y 8 tiempos de ejecución
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.
- El IronCefSubprocess mencionado a continuación es un binario dentro de la carpeta bin de su aplicación. Es posible que tenga que especificar una ruta exacta que puede estar en el subdirectorio
runtimes
debin
. Es posible que necesite privilegios
sudo
.Si no está seguro de cómo proceder con un sistema operativo Linux no incluido en la lista; investigue las dependencias del 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 de dependencia comunes 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.
Por ejemplo (la trayectoria 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;
IRON VB CONVERTER ERROR developers@ironsoftware.com