Utilisation d'IronPDF sur Linux
Guide de compatibilité et d'installation
IronPDF prend en charge Linux pour .NET 9, 8, 7, 6, 5 et les applications .NET Core, ainsi que Docker, Azure, AWS, macOS et(naturellement) Fenêtres.
Conteneurisation et hébergement officiellement pris en charge
Distributions Linux officiellement prises en charge
Conseils pour IronPDF sur Linux
Nous recommandons l'utilisation de .NET Core 3.1 et de tout autre runtime marqué commeLTS de Microsoft parce qu'ils garantissent une assistance à long terme et qu'ils sont généralement bien testés sous Linux.
Aucune modification du code n'est nécessaire pour faire fonctionner IronPDF sous Linux. En général, IronPDF fonctionne immédiatement grâce à des centaines d'heures de tests et de configuration par nos ingénieurs.
La prise en charge de Linux est importante car de nombreux services en nuage tels que Azure Web Apps, Azure Functions, AWS EC2, AWS Lambda, Azure Devops Docker reposent fortement sur Linux. Chez Iron Software, nous utilisons régulièrement ces outils en nuage et nous savons que c'est aussi le cas de bon nombre de nos clients d'entreprise et SAAS,
Spécifications du matériel
IronPDF utilise Chromium pour convertir HTML en PDF. Le moteur Chromium rend les PDF au pixel près grâce à la fonction d'impression de Chrome. Les spécifications matérielles sont principalement destinées à l'exécution du moteur Chromium, qui utilise la majeure partie de la puissance de calcul.
- Minimum : 1 cœur et 1,75 Go de RAM
- Recommandé : 2 cœurs et 8 Go de RAM ou plus
Distros Linux officiellement soutenus
Nous supportons officiellement et recommandons les derniers systèmes d'exploitation Linux 64 bit ci-dessous pour une installation "sans configuration" d'IronPDF.
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
Ubuntu 16
Debian 11[Actuellement, la distribution Linux par défaut de Microsoft Azure]_
- Debian 10
- CentOS 8
- Fedora Linux 33
Amazon AWS Linux 2 Lire leGuide de configuration d'AWS Lambda pour IronPDF
Veuillez lire "Other Linux Distros" ci-dessous pour obtenir des conseils sur l'installation d'IronPDF sur une version de Linux qui n'est pas officiellement supportée.
Nous recommandons d'utiliser le logicielImages Docker officielles. Les autres distributions Linux sont partiellement prises en charge, mais peuvent nécessiter une configuration manuelle à l'aide d'apt-get. Voir "Modèles de dépendance courants pour Linux"à la fin de ce document.
Installation automatique de Linux
Le paramètre par défaut LinuxAndDockerDependenciesAutoConfig
true tentera d'installer automatiquement toutes les dépendances pour qu'IronPDF fonctionne sous Linux. La première opération de conversion de html en pdf peut prendre plus de temps que d'habitude.
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
Paquets NuGet optimisés pour Linux
Install-Package IronPdf.Linux
Des paquets NuGet sont disponibles pour les déploiements d'IronPDF optimisés pour LinuxGuide d'installation avancée d'IronPDF sous NuGet.
Vous pouvez utiliser ce paquet optimisé pour Linux et même développer sur une machine Windows ou macOS.
Vous pouvez aussi directement télécharger la DLL pour Linux.
Installation de Docker + Linux
Veuillez lire notreune documentation complète sur l'utilisation d'IronPDF sur Docker si vous avez besoin d'aide pour configurer une image Docker qui utilisera IronPDF.
Compatibilité Ubuntu
Ubuntu est notre système d'exploitation Linux le plus testé. En effet, il est très utilisé dans l'infrastructure Azure que nous utilisons pour les tests et les déploiements continus. Cette plateforme dispose également d'une prise en charge officielle de Microsoft .NET et d'images Docker officielles.
Ubuntu 20
Nous supportons Ubuntu 20 dès sa sortie de la boîte avec zéro configuration.
- Prise en charge des moteurs de rendu HTML vers PDF basés sur Chrome et WebKit
- Prise en charge officielle de **.NET Core 3.1, 5, 6(LTS)durées d'exécution 7 et 8
- Officieusement, nous prenons en charge de nombreux autres moteurs d'exécution .NET Core sur Ubuntu 20
Nous effectuons plus de 997 tests unitaires sur cette plateforme avant chaque version
Images Docker officielles de Microsoft:
- image Docker Ubuntu 20.04 64 bits pour .NET Runtime 3.1(3.1-focale)
image Docker Ubuntu 20.04 64 bits pour .NET Runtime 5.0(5.0-focale)
Installation manuelle d'Ubuntu 20
Si vous souhaitez procéder à une installation manuelle ou si votre application ne peut être exécutée avec les privilèges d'administrateur sudo.
Set
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 mentionné ci-dessous est un binaire qui se trouve dans le dossier bin de votre application. Vous pouvez avoir besoin de spécifier un chemin exact qui peut se trouver dans le sous-répertoire
runtimes
debin
. - Vous pouvez avoir besoin des privilèges
sudo
.
Ubuntu 18
Nous supportons Ubuntu 18 dès sa sortie de la boîte avec zéro configuration.
- Prise en charge des moteurs de rendu HTML vers PDF basés sur Chrome et WebKit
- Support officiel .NET Core 3.1 LTS et .NET 5 runtimes
- Officieusement, nous prenons en charge de nombreux autres moteurs d'exécution .NET Core sur Ubuntu 18 et même 16
Nous effectuons des tests complets sur cette plateforme avant chaque mise à jour
Images Docker officielles de Microsoft:
- image Docker Ubuntu 18.04 64 bits pour .NET Runtime 3.1(3.1-bionique)
Bien qu'il n'y ait pas d'image docker officielle pour .NET 5 sur Ubuntu 18, la compatibilité est très élevée.
**Manuel d'installation d'Ubuntu 18
Si vous souhaitez procéder à une installation manuelle ou si votre application ne peut être exécutée avec les privilèges d'administrateur sudo.
Set
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
Nous n'avons qu'un support limité / non officiel d'Ubuntu 16. Ubuntu 16 n'a pas été rigoureusement testé avec IronPDF.
.NET sur Ubuntu 16 est officiellement pris en charge par Microsoft et de nombreux utilisateurs signalent qu'il fonctionne avec IronPDF for .NET. Les développeurs peuvent avoir à installer manuellement les dépendances apt-get.
- Chrome et WebKit fonctionnent normalement avec une configuration manuelle.
- .NET Core 3.1 LTS et .NET 5 runtimes bénéficient de la prise en charge de Microsoft pour Ubuntu 16.
Il n'existe actuellement aucune image Docker officielle de Microsoft pour Ubuntu 16.
**Manuel d'installation d'Ubuntu 16
Si vous souhaitez procéder à une installation manuelle ou si votre application ne peut être exécutée avec les privilèges d'administrateur sudo.
Set
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/)
Compatibilité avec Debian
Debian est notre deuxième système d'exploitation Linux le plus testé. Cette plateforme dispose également d'une prise en charge officielle de Microsoft .NET et d'images Docker officielles.
Debian 11
_Debian 11 est la distribution Linux par défaut utilisée par Microsoft lors de l'ajout de la prise en charge de Docker à un projet .NET dans Visual Studio
Nous prenons en charge Debian 11 dès sa sortie de la boîte avec zéro configuration.
- Prise en charge des moteurs de rendu HTML vers PDF basés sur Chrome et WebKit
- Prise en charge officielle de **.NET Core 3.1, 5, 6(LTS)durées d'exécution 7 et 8
- Officieusement, nous prenons en charge de nombreux autres moteurs d'exécution .NET Core sur Debian 11
Nous effectuons plus de 997 tests unitaires sur cette plateforme avant chaque version
Images Docker officielles de Microsoft:
- image Docker Debian 11 64 bits pour .NET Runtime 3.1
image Docker Debian 11 64 bits pour .NET Runtime 5.0
Installation manuelle de Debian 11
Si vous souhaitez procéder à une installation manuelle ou si votre application ne peut être exécutée avec les privilèges d'administrateur sudo.
Set
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
Nous prenons en charge Debian 10 dès sa sortie de la boîte avec zéro configuration.
- Prise en charge des moteurs de rendu HTML vers PDF basés sur Chrome et WebKit
- Prise en charge officielle de **.NET Core 3.1, 5, 6(LTS)durées d'exécution 7 et 8
- Officieusement, nous prenons en charge de nombreux autres moteurs d'exécution .NET Core sur Debian 10
Nous effectuons plus de 997 tests unitaires sur cette plateforme avant chaque version
Images Docker officielles de Microsoft:
- image Docker 64 bits Debian 10 pour .NET Runtime 3.1
image Docker 64 bits Debian 10 pour .NET Runtime 5.0
Installation manuelle de Debian 10
Si vous souhaitez procéder à une installation manuelle ou si votre application ne peut être exécutée avec les privilèges d'administrateur sudo.
Set
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 et inférieures
Debian 9 n'a pas été officiellement testée et ne fonctionnera pas avec IronPDF. Cependant, .NET sur Debian 9 est officiellement pris en charge par Microsoft et peut fonctionner avec IronPDF si la configuration est correcte
(Voir "Modèles de dépendance courants pour Linux"à la fin de ce document).
Il n'y a pas d'images Docker officielles de Microsoft pour .NET Core 3.1 ou .NET 5.0 sur Debian 9. Nous recommandons fortement de migrer vers Debian 10.
Compatibilité avec CentOS
Nous aimons et soutenons activement CentOS.
Support de CentOS 8
Nous supportons CentOS 8 dès sa sortie de l'emballage avec zéro configuration.
- Prise en charge des moteurs de rendu HTML vers PDF basés sur Chrome et WebKit
- Prise en charge officielle de **.NET Core 3.1, 5, 6(LTS)durées d'exécution 7 et 8
- Officieusement, nous prenons en charge de nombreux autres moteurs d'exécution .NET Core sur CentOS
Nous effectuons des tests complets sur cette plateforme avant chaque mise à jour
Malheureusement, il n'existe pas d'images Docker officielles de Microsoft pour .NET Core 3.1 ou .NET 5.0 sur CentOS 8.
Installation manuelle de CentOS 8
Si vous souhaitez procéder à une installation manuelle ou si votre application ne peut être exécutée avec les privilèges d'administrateur sudo.
Set
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 et inférieur
CentOS 7 n'a pas été testé et ne fonctionnera pas avec IronPDF.
Cependant, .NET sur CentOS 7 est officiellement pris en charge par Microsoft et devrait fonctionner avec IronPDF s'il est configuré correctement(lire "Modèles de dépendance courants pour Linux" ci-dessous).
Il n'existe pas d'images Docker officielles de Microsoft pour .NET Core 3.1 ou .NET 5.0 sur CentOS 7.
Compatibilité Amazon AWS Linux 2
Nous prenons en charge Amazon AWS Linux 2, qui constitue la base des services cloud d'Amazon tels que EC2 et Lambda.
- Il n'existe pas d'images Docker officielles de Microsoft pour .NET Core 3.1 ou .NET 5.0 sur Amazon AWS Linux 2.
Nous testons manuellement la compatibilité avec Amazon AWS Linux 2 lors du développement d'IronPDF
Nous vous recommandons de lire notreIronPDF AWS Lambda guide qui contient un fichier Docker fonctionnel pour IronPDF sur AWS Lambda.
Amazon Linux 2 Manual Setup
Si vous souhaitez procéder à une installation manuelle ou si votre application ne peut être exécutée avec les privilèges d'administrateur sudo.
Set
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/)
Veuillez également consulter notre documentation sur notre support officielIronPDF pour AWS Lambda qui comprend l'installation et l'enregistrement sur la plateforme cloud d'Amazon.
Compatibilité avec Fedora Linux
Fedora Linux est pris en charge.
Nous prenons en charge Fedora Linux 33 dès sa sortie de l'emballage avec zéro configuration.
- Prise en charge des moteurs de rendu HTML vers PDF basés sur Chrome et WebKit
- Prise en charge officielle de **.NET Core 3.1, 5, 6(LTS)durées d'exécution 7 et 8
Nous effectuons des tests complets sur cette plateforme avant chaque mise à jour
Installation manuelle de Fedora Linux
Si vous souhaitez procéder à une installation manuelle ou si votre application ne peut être exécutée avec les privilèges d'administrateur sudo.
Cela peut également s'avérer utile avec des versions plus anciennes ou plus récentes de Fedora Linux.
Set
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/)
Compatibilité Alpine Linux
L'exécution d'IronPDF sur Alpine Linux n'est pas prise en charge. Nous aimerions pouvoir le faire, mais nous ne le pouvons pas. Franchement, nous aimons Alpine et nous espérons que ce projet se poursuivra et se développera. En 2023, Alpine utilise encore des bibliothèques de langage C "musl" dépassées qui ne permettent pas encore aux développeurs de chrome de prendre pleinement en charge ce système d'exploitation.
Utiliser Alpine Docker avec IronPdfEngine dans .NET 6
IronPdf fournit une image conteneur contenant toutes les fonctionnalités d'IronPdf. Cela permet aux projets fonctionnant sur Alpine d'accéder aux fonctionnalités d'IronPDF en se connectant au conteneur IronPdfEngine.
Étape 1 : Tirer et exécuter l'image Docker du moteur IronPDF
Exécutez les commandes suivantes dans votre terminal pour tirer et exécuter l'image Docker du moteur IronPDF :
docker pull ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
Étape 2 : Configuration de l'application Console
Créez une nouvelle application console ciblant .NET 6.
Installez le package NuGet IronPdf.Slim à l'aide du gestionnaire de packages NuGet.
Autres distributions Linux
Vous pouvez également installer manuellement les prérequis d'IronPDF pour Linux en utilisant apt-get hfs et yum
Cela vous permet d'utiliser IronPDF sur de nombreuses distros linux non supportées.
Généralement, lors de la première installation, IronPDF lance des exceptions pour vous indiquer les dépendances nécessaires au système.
- IronCefSubprocess mentionné ci-dessous est un binaire qui se trouve dans le dossier bin de votre application. Vous pouvez avoir besoin de spécifier un chemin exact qui peut se trouver dans le sous-répertoire
runtimes
debin
. Vous pouvez avoir besoin des privilèges
sudo
.Si vous ne savez pas comment procéder avec un système d'exploitation Linux non répertorié ; rechercher les dépendances du navigateur Chromium sur ce système d'exploitation.
Si vous souhaitez voter pour le soutien officiel d'une distro linux différente, veuillez contacter support@ironsoftware.com pour lui faire part de votre demande.
Common Dependency Patterns for Linux (modèles de dépendance communs pour Linux)
Veuillez également étudier les paquets de dépendance pour les autres systèmes d'exploitation linux ci-dessus.
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/)
IronCefSubprocessus
IronCefSubprocess est un fichier binaire qui se trouve dans le dossier bin
de votre application. Il doit être exécutable par le processus .NET.
Par exemple(le chemin peut varier)
chmod 755 bin/runtimes/linux-64/IronCefSubprocess
publication d'un fichier unique sous Linux avec dotnet
Si vous choisissez d'exporter votre projet sous forme de publication de fichier unique sous Linux, voici comment procéder.
dotnet publish -r linux-x64 /property:PublishProfile=FolderProfile /bl
Chemins d'accès aux fichiers temporaires
Les développeurs peuvent avoir besoin de spécifier un répertoire accessible en écriture dans lequel des fichiers temporaires peuvent être créés pour certains cas d'utilisation.
Une valeur courante et sûre pour ce chemin est /tmp/
sous Linux, mais il doit s'agir d'un chemin où l'utilisateur peut lire et écrire des fichiers.
//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