IronPDF Linux Kompatibilität & Setup-Anleitung

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF unterstützt Linux für .NET 8, 7, 6, 5 und .NET Core Anwendungen, sowie Docker, Azure, AWS, macOS und(natürlich) Fenster. 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
VB   C#

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 von bin 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 von bin 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;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#