Verwendung von IronPDF auf Linux
Kompatibilität & Einrichtungsleitfaden
IronPDF unterstützt Linux für .NET 9, 8, 7, 6, 5 und .NET Core-Anwendungen sowie Docker, Azure, AWS, macOS und(natürlich) Fenster.
Offiziell unterstützte Containerisierung und Hosting
Offiziell unterstützte Linux-Distributionen
Tipps für IronPDF auf Linux
Wir empfehlen die Verwendung von .NET Core 3.1 und allen anderen Laufzeiten, die alsLTS von Microsoft weil sie eine langfristige Unterstützung garantieren und im Allgemeinen gut unter Linux getestet sind.
Für den Betrieb von IronPDF unter Linux sind keine Codeänderungen erforderlich. Im Allgemeinen funktioniert IronPDF sofort nach dem Auspacken dank hunderter von Stunden an Tests und Konfiguration durch unsere Ingenieure.
Linux-Unterstützung ist wichtig, weil viele Cloud-Dienste wie Azure Web Apps, Azure Functions, AWS EC2, AWS Lambda, Azure Devops Docker stark auf Linux angewiesen sind. Wir bei Iron Software nutzen diese Cloud-Tools regelmäßig und wissen, dass viele unserer Enterprise- und SAAS-Kunden dies auch tun,
Hardware-Spezifikation
IronPDF verwendet Chromium, um HTML in PDF umzuwandeln. Die Chromium-Engine rendert PDFs mit der Druckfunktion von Chrome pixelgenau. Die Hardware-Spezifikationen sind in erster Linie für die Ausführung der Chromium-Engine gedacht, die den größten Teil der Rechenleistung beansprucht.
- Minimum: 1 Kern und 1,75 GB RAM
- Empfohlen: 2 Kerne und 8 GB RAM oder mehr
Offiziell unterstützte Linux-Distros
Wir unterstützen offiziell die unten aufgeführten aktuellen 64 bit Linux-Betriebssysteme für die "Null-Konfigurations"-Einrichtung von IronPDF und empfehlen diese.
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
Ubuntu 16
Debian 11[Derzeit die Microsoft Azure Standard-Linux-Distro]_
- Debian 10
- CentOS 8
- Fedora Linux 33
Amazon AWS Linux 2 Lesen Sie dieAWS Lambda-Einrichtungsanleitung für IronPDF
Bitte lesen Sie den Abschnitt "Andere Linux-Distributionen" weiter unten, um Ratschläge zur Installation von IronPDF auf einer Linux-Version zu erhalten, die nicht offiziell unterstützt wird.
Wir empfehlen die Verwendung von MicrosoftsOffizielle Docker-Bilder. Andere Linux-Distributionen werden zum Teil unterstützt, erfordern aber möglicherweise eine manuelle Konfiguration mit apt-get. Siehe "Gemeinsame Abhängigkeitsmuster für Linux" am Ende dieses Dokuments.
Automatische Einrichtung von Linux
Mit der Standardeinstellung LinuxAndDockerDependenciesAutoConfig
true wird automatisch versucht, alle Abhängigkeiten zu installieren, damit IronPDF unter Linux läuft. Der erste html-to-pdf-Vorgang kann länger dauern als üblich.
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
Linux-optimierte NuGet-Pakete
Install-Package IronPdf.Linux
Es gibt NuGet-Pakete für Linux-optimierte IronPDF-Implementierungen, die in unsererIronPDF erweiterte NuGet-Installationsanleitung.
Sie können dieses für Linux optimierte Paket verwenden und sogar auf einem Windows- oder macOS-Rechner entwickeln.
Alternativ können Sie auch direkt die DLL für Linux herunterladen.
Docker + Linux Einrichtung
Bitte lesen Sie unserausführliche Dokumentation zur Verwendung von IronPDF auf Docker wenn Sie Hilfe beim Einrichten eines Docker-Images benötigen, das IronPDF verwendet.
Ubuntu-Kompatibilität
Ubuntu ist unser meistgetestetes Linux-Betriebssystem. Der Grund dafür ist, dass es in der Azure-Infrastruktur, die wir für kontinuierliche Tests und die Bereitstellung verwenden, stark genutzt wird. Diese Plattform bietet auch offizielle Microsoft .NET-Unterstützung und offizielle Docker Images.
Ubuntu 20
Wir unterstützen Ubuntu 20 ab Werk mit null Konfiguration.
- Unterstützt Chrome und WebKit basierte HTML zu PDF Rendering Engines
- Offizielle Unterstützung von .NET Core 3.1, 5, 6(LTS), 7 und 8 Laufzeiten
- Inoffiziell unterstützen wir viele andere .NET Core-Laufzeiten unter Ubuntu 20
Wir führen auf dieser Plattform vor jeder Veröffentlichung über 997 Unit-Tests durch
Offizielle Microsoft-Docker-Abbilder:
- 64 bit Ubuntu 20.04 Docker Image für .NET Runtime 3.1(3.1-fokal')
64 bit Ubuntu 20.04 Docker Image für .NET Runtime 5.0(5.0-fokal')
Manuelle Ubuntu 20 Einrichtung
Wenn Sie manuell installieren möchten oder Ihre Anwendung nicht mit sudo Admin-Rechten ausgeführt werden kann.
Setzen Sie
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/)
- der unten genannte IronCefSubprocess** ist eine Binärdatei im Bin-Ordner Ihrer Anwendung. Möglicherweise müssen Sie einen genauen Pfad angeben, der im Unterverzeichnis
runtimes
vonbin
liegen kann. - Sie benötigen möglicherweise
sudo
-Rechte.
Ubuntu 18
Wir unterstützen Ubuntu 18 ab Werk mit null Konfiguration.
- Unterstützt Chrome und WebKit basierte HTML zu PDF Rendering Engines
- Offizielle Unterstützung .NET Core 3.1 LTS und .NET 5 Laufzeiten
- Inoffiziell unterstützen wir viele andere .NET Core-Laufzeiten unter Ubuntu 18 und sogar 16
Wir führen auf dieser Plattform vor jeder Veröffentlichung umfassende Rauch-Tests durch
Offizielle Microsoft-Docker-Abbilder:
- 64 bit Ubuntu 18.04 Docker Image für .NET Runtime 3.1(3.1-bionisch')
Obwohl es kein offizielles Docker-Image für .NET 5 unter Ubuntu 18 gibt, ist die Kompatibilität sehr hoch.
Handbuch Ubuntu 18 Setup
Wenn Sie manuell installieren möchten oder Ihre Anwendung nicht mit sudo Admin-Rechten ausgeführt werden kann.
Setzen Sie
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
Wir haben nur begrenzte / inoffizielle Unterstützung für Ubuntu 16. Ubuntu 16 wurde nicht gründlich mit IronPDF getestet.
.NET auf Ubuntu 16 wird offiziell von Microsoft unterstützt und viele Benutzer berichten, dass sie mit IronPDF zusammenarbeiten. Entwickler müssen möglicherweise apt-get-Abhängigkeiten manuell installieren.
- Chrome und WebKit** funktionieren normalerweise mit manueller Konfiguration.
- .NET Core 3.1 LTS und .NET 5 Laufzeiten haben Microsoft Unterstützung für Ubuntu 16.
Derzeit gibt es keine offiziellen Microsoft-Docker-Images für Ubuntu 16.
Handbuch Ubuntu 16 Setup
Wenn Sie manuell installieren möchten oder Ihre Anwendung nicht mit sudo Admin-Rechten ausgeführt werden kann.
Setzen Sie
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/)
Debian-Kompatibilität
Debian ist unser am zweithäufigsten getestetes Linux-Betriebssystem. Diese Plattform bietet auch offizielle Microsoft.NET-Unterstützung und offizielle Docker Images.
Debian 11
debian 11 ist die Standard-Linux-Distribution, die von Microsoft beim Hinzufügen von Docker-Unterstützung zu einem .NET-Projekt in Visual Studio verwendet wird
Wir unterstützen Debian 11 von Haus aus mit null Konfiguration.
- Unterstützt Chrome und WebKit basierte HTML zu PDF Rendering Engines
- Offizielle Unterstützung von .NET Core 3.1, 5, 6(LTS), 7 und 8 Laufzeiten
- Inoffiziell unterstützen wir viele andere .NET Core-Laufzeiten unter Debian 11
Wir führen auf dieser Plattform vor jeder Veröffentlichung über 997 Unit-Tests durch
Offizielle Microsoft-Docker-Abbilder:
- 64 bit Debian 11 Docker Image für .NET Runtime 3.1
64 bit Debian 11 Docker Image für .NET Runtime 5.0
Manuelle Einrichtung von Debian 11
Wenn Sie manuell installieren möchten oder Ihre Anwendung nicht mit sudo Admin-Rechten ausgeführt werden kann.
Setzen Sie
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
Wir unterstützen Debian 10 von Haus aus mit null Konfiguration.
- Unterstützt Chrome und WebKit basierte HTML zu PDF Rendering Engines
- Offizielle Unterstützung von .NET Core 3.1, 5, 6(LTS), 7 und 8 Laufzeiten
- Inoffiziell unterstützen wir viele andere .NET Core-Laufzeiten unter Debian 10
Wir führen auf dieser Plattform vor jeder Veröffentlichung über 997 Unit-Tests durch
Offizielle Microsoft-Docker-Abbilder:
- 64 bit Debian 10 Docker Image für .NET Runtime 3.1
64 bit Debian 10 Docker Image für .NET Runtime 5.0
Manuelle Einrichtung von Debian 10
Wenn Sie manuell installieren möchten oder Ihre Anwendung nicht mit sudo Admin-Rechten ausgeführt werden kann.
Setzen Sie
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 und niedriger
Debian 9 wurde nicht offiziell getestet und wird nicht mit IronPDF funktionieren. Allerdings wird .NET unter Debian 9 offiziell von Microsoft unterstützt und kann mit IronPDF zusammenarbeiten, wenn es richtig eingerichtet ist
(Siehe "Gemeinsame Abhängigkeitsmuster für Linux" am Ende dieses Dokuments).
Es gibt keine offiziellen Docker-Images von Microsoft für .NET Core 3.1 oder .NET 5.0 unter Debian 9. Wir empfehlen dringend, auf Debian 10 zu migrieren.
CentOS-Kompatibilität
Wir mögen und unterstützen CentOS aktiv.
CentOS 8-Unterstützung
Wir unterstützen CentOS 8 ab Werk mit null Konfiguration.
- Unterstützt Chrome und WebKit basierte HTML zu PDF Rendering Engines
- Offizielle Unterstützung von .NET Core 3.1, 5, 6(LTS), 7 und 8 Laufzeiten
- Inoffiziell unterstützen wir viele andere .NET Core-Laufzeiten unter CentOS
Wir führen auf dieser Plattform vor jeder Veröffentlichung umfassende Rauch-Tests durch
Leider gibt es keine offiziellen Docker-Images von Microsoft für .NET Core 3.1 oder .NET 5.0 auf CentOS 8.
Manuelle Einrichtung von CentOS 8
Wenn Sie manuell installieren möchten oder Ihre Anwendung nicht mit sudo Admin-Rechten ausgeführt werden kann.
Setzen Sie
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 und niedriger
CentOS 7 wurde nicht getestet und wird nicht mit IronPDF funktionieren.
Allerdings wird .NET auf CentOS 7 offiziell von Microsoft unterstützt und würde wahrscheinlich mit IronPDF funktionieren, wenn es richtig eingerichtet ist(bitte lesen "Gemeinsame Abhängigkeitsmuster für Linux" unten).
Es gibt keine offiziellen Docker-Images von Microsoft für .NET Core 3.1 oder .NET 5.0 auf CentOS 7.
Amazon AWS Linux 2-Kompatibilität
Wir bieten Unterstützung für Amazon AWS Linux 2, das die Grundlage für Amazons Cloud-Services wie EC2 und Lambda bildet.
- Es gibt keine offiziellen Docker-Images von Microsoft für .NET Core 3.1 oder .NET 5.0 auf Amazon AWS Linux 2.
Während der Entwicklung von IronPDF testen wir manuell die Kompatibilität mit Amazon AWS Linux 2
Wir empfehlen Ihnen die Lektüre unsererIronPDF AWS Lambda anleitung, die eine funktionierende Docker-Datei für IronPDF auf AWS Lambda enthält.
** Amazon Linux 2 Manual Setup
Wenn Sie manuell installieren möchten oder Ihre Anwendung nicht mit sudo Admin-Rechten ausgeführt werden kann.
Setzen Sie
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/)
Bitte lesen Sie auch unsere Dokumentation auf unserer offiziellen SupportseiteIronPDF für AWS Lambda das die Installation und Protokollierung auf der Amazon-Cloud-Plattform umfasst.
Kompatibilität mit Fedora Linux
Fedora Linux wird unterstützt.
Wir unterstützen Fedora Linux 33 ab Werk mit null Konfiguration.
- Unterstützt Chrome und WebKit basierte HTML zu PDF Rendering Engines
- Offizielle Unterstützung von .NET Core 3.1, 5, 6(LTS), 7 und 8 Laufzeiten
Wir führen auf dieser Plattform vor jeder Veröffentlichung umfassende Rauch-Tests durch
Manuelles Fedora Linux Setup
Wenn Sie manuell installieren möchten oder Ihre Anwendung nicht mit sudo Admin-Rechten ausgeführt werden kann.
Dies kann auch bei älteren oder neueren Builds von Fedora Linux helfen.
Setzen Sie
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/)
Alpine Linux-Kompatibilität
Der Betrieb von IronPDF auf Alpine Linux wird nicht unterstützt. Wir wünschten, wir könnten es, aber wir können es nicht. Ehrlich gesagt, wir mögen Alpine und hoffen, dass dieses Projekt fortgesetzt wird und wächst. Ab 2023 verwendet Alpine immer noch veraltete "musl"-C-Sprachbibliotheken, die es Chromium-Entwicklern noch nicht erlauben, dieses Betriebssystem vollständig zu unterstützen.
Verwendung von Alpine Docker mit IronPdfEngine in .NET 6
IronPDF bietet ein Container-Image, das alle IronPdf-Funktionen enthält. Dadurch können Projekte, die auf Alpine laufen, auf IronPDF-Funktionen zugreifen, indem sie sich mit dem IronPdfEngine-Container verbinden.
Schritt 1: IronPDF-Engine-Docker-Image herunterladen und ausführen
Führen Sie die folgenden Befehle in Ihrem Terminal aus, um das IronPDF Engine Docker-Image zu laden und auszuführen:
docker pull ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
Schritt 2: Konsolen-App einrichten
Erstellen Sie eine neue Konsolenanwendung für .NET 6.
Installieren Sie das NuGet-Paket IronPDF.Slim mit dem NuGet-Paketmanager.
Andere Linux-Distributionen
Sie können die IronPDF-Voraussetzungen für Linux auch manuell mit apt-get hfs und yum installieren
Dadurch können Sie IronPDF auf vielen nicht unterstützten Linux-Distributionen verwenden.
Im Allgemeinen wird IronPDF bei der Erstinstallation Ausnahmen auslösen, um Sie auf notwendige Systemabhängigkeiten hinzuweisen.
- der unten genannte IronCefSubprocess** ist eine Binärdatei im Bin-Ordner Ihrer Anwendung. Möglicherweise müssen Sie einen genauen Pfad angeben, der im Unterverzeichnis
runtimes
vonbin
liegen kann. Sie benötigen möglicherweise
sudo
-Rechte.Wenn Sie unsicher sind, wie Sie mit einem nicht aufgelisteten Linux-Betriebssystem verfahren sollen; untersuchen Sie die Abhängigkeiten des Browsers Chromium auf diesem Betriebssystem.
Wenn Sie für die offizielle Unterstützung einer anderen Linux-Distribution stimmen möchten, wenden Sie sich bitte an support@ironsoftware.com mit Ihrer Anfrage.
Gemeinsame Abhängigkeitsmuster für Linux
Bitte beachten Sie auch die oben genannten Abhängigkeitspakete für andere Linux-Betriebssysteme.
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 ist eine Binärdatei im bin
-Ordner Ihrer Anwendung. Sie muss von dem .NET-Prozess ausgeführt werden können.
Z.B.(pfad kann variieren)
chmod 755 bin/runtimes/linux-64/IronCefSubprocess
dotnet Single-File-Publishing unter Linux
Wenn Sie Ihr Projekt unter Linux als Einzeldatei exportieren möchten, gehen Sie wie folgt vor.
dotnet publish -r linux-x64 /property:PublishProfile=FolderProfile /bl
Pfade für Temp-Dateien
Für einige Anwendungsfälle müssen die Entwickler ein beschreibbares Verzeichnis angeben, in dem temporäre Dateien erstellt werden können.
Ein üblicher, sicherer Wert für diesen Pfad ist /tmp/
in Linux, aber letztendlich muss es ein Pfad sein, in dem der Benutzer Dateien lesen und schreiben kann.
//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