IronPDF Linux 互換性とセットアップガイド

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

IronPDFは、.NET 8, 7, 6, 5および.NET Core アプリケーション向けにLinuxをサポートしており、さらにDocker、Azure、AWS、macOSもサポートしています。 (自然に) Windows

.NET Core 3.1および「LTS」(長期サポート)でマークされた他のいかなるランタイムの使用をお勧めします。 MicrosoftのLTS それは長期的なサポートが保証されており、一般的にLinux上で十分にテストされているためです。

IronPDFの実行にはLinux上でコードの変更は必要ありません。 一般的に、IronPDF は、エンジニアによる数百時間のテストと構成のおかげで、すぐに使用可能です。

Linuxのサポートは、Azure Web Apps、Azure Functions、AWS EC2、AWS Lambda、Azure Devops Dockerなどの多くのクラウドサービスがLinuxに大きく依存しているため、重要です。 Iron Softwareでは、これらのクラウドツールを定期的に使用しており、多くの企業およびSAASのお客様も同様であることを理解しています。

ハードウェア仕様

IronPDFはChromiumを使用してHTMLをPDFにレンダリングします。 Chromiumエンジンは、PDFをChromeの印刷機能とピクセル単位で完璧にレンダリングします。 ハードウェア仕様は主にChromiumエンジンを実行するためのものであり、これがほとんどの計算能力を消費します。

  • 最小限 : 1コア&1.75GBのRAM
  • 推奨スペック:2コア & 8GB以上のRAM

サポートされている公式Linuxディストリビューション

私たちは以下の最新の64ビットLinux OSの「ゼロ設定」セットアップに対して公式にサポートし、推奨しています。

  • ウブントゥ 22
  • Ubuntu 20
  • ウブントゥ 18
  • ウブントゥ 16
  • デビアン11 [現在のMicrosoft AzureデフォルトLinuxディストロ]_
  • デビアン 10

    • CentOS 8

(Note: In this context, specific software or version names like CentOS 8 typically remain unchanged in translation).

  • フェドラ・リナックス 33
  • Amazon AWS Linux 2 を読む IronPDF用AWS Lambdaセットアップガイド

    以下の「他のLinuxディストリビューション」セクションをお読みください。サポートされていないバージョンのLinuxにIronPDFをインストールする際のアドバイスが記載されています。

    マイクロソフトの使用をお勧めします 公式Dockerイメージ. 他のLinuxディストリビューションも一部はサポートされていますが、apt-getを使用する手動構成が必要な場合があります。 「参照」Linux向けの一般的な依存パターンこのドキュメントの最後に。

Linux 自動セットアップ

デフォルト設定の LinuxAndDockerDependenciesAutoConfig が true の場合、IronPDF を Linux 上で実行するために必要なすべての依存関係を自動的にインストールしようとします。 最初のHTMLからPDFへの変換操作は通常よりも時間がかかる場合があります。

IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
VB   C#

Linux最適化NuGetパッケージ

Install-Package IronPdf.Linux

以下の内容を日本語に翻訳してください:

Linux向けに最適化されたIronPDFのデプロイメントのためのNuGetパッケージが用意されています。 IronPDF高度なNuGetインストールガイド.

この Linux 最適化パッケージを利用して、Windows または macOS マシン上で開発することができます。

あるいは、直接 Linux用のDLLをダウンロード.

Docker + Linux セットアップ

ご覧ください Docker上でIronPDFを使用するための詳細なドキュメント IronPDFを使用するDockerイメージのセットアップに関してサポートが必要な場合。

Ubuntu互換性

Ubuntuは、当社で最もテストされたLinuxオペレーティングシステムです。 これは、我々が継続的なテストとデプロイに使用しているAzureインフラストラクチャで頻繁に使用されているためです。 このプラットフォームには、公式のMicrosoft .NETサポートと公式のDockerイメージもあります。

Ubuntu 20

Ubuntu 20とは、広く使用されているオープンソースのオペレーティングシステムであるUbuntuの2020年リリース版の一つです。このバージョンは、ユーザビリティの向上、一層のセキュリティ強化、パフォーマンス向上などが特徴です。Ubuntu 20は、デスクトップ、サーバー、そしてIoTデバイスに至るまで、さまざまな用途に適しています。多くの開発者や企業が、開発環境や本番環境においてUbuntu 20を採用しています。

私たちは、_ゼロ構成_でUbuntu 20をサポートしています。

  • ChromeおよびWebKitベースのHTMLからPDFへのレンダリングエンジンをサポートします。
  • 公式に .NET Core 3.1、5、6 をサポート (LTS (長期サポート))ランタイムバージョン**, 7 および 8
  • 非公式ながら、Ubuntu 20上の他の多くの.NET Coreランタイムもサポートしています。
  • このプラットフォームでは、各リリース前に997以上のユニットテストを実行します。

    公式Microsoft Dockerイメージ:

  • 64ビット Ubuntu 20.04 Dockerイメージ for .NET Runtime 3.1(「3.1-focal」)
  • 64ビットUbuntu 20.04 Dockerイメージ for .NET Runtime 5.0('5.0-focal')

    Ubuntu 20 手動設定

    手動でインストールしたい場合や、アプリが_sudo_管理者権限で実行できない場合。

    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 は、アプリケーションの bin フォルダー内のバイナリです。 正確なパスを指定する必要があるかもしれません。それは binruntimes サブディレクトリにある場合があります。
  • sudo権限が必要になる場合があります。

ウブントゥ 18

Ubuntu 18をゼロ構成でサポートしています。

  • ChromeおよびWebKitベースのHTMLからPDFへのレンダリングエンジンをサポートします。
  • 公式サポート .NET Core 3.1 LTS および .NET 5 ランタイム
  • 非公式には、Ubuntu 18や16上の他の多くの.NET Coreランタイムもサポートしています。
  • リリースの前に、このプラットフォームで包括的なスモークテストを実施します。

    公式Microsoft Dockerイメージ:

  • 64ビットUbuntu 18.04 Dockerイメージ for .NET Runtime 3.1('3.1-bionic')
  • 公式の .NET 5 用 Ubuntu 18 の Docker イメージは存在しませんが、互換性は非常に高いです。

    手動 Ubuntu 18 セットアップ

    手動でインストールしたい場合や、アプリが_sudo_管理者権限で実行できない場合。

    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/)

ウブントゥ 16

Ubuntu 16には限られた/非公式のサポートしかありません。Ubuntu 16はIronPDFで厳密にテストされていません。

Ubuntu 16上の.NETはMicrosoftによって公式にサポートされており、多くのユーザーによってIronPDFでも動作することが報告されています。 開発者は手動でapt-get依存関係をインストールする必要があるかもしれません。

  • ChromeおよびWebKitは通常、手動構成で動作します。
  • .NET Core 3.1 LTSおよび.NET 5 ランタイムは、Ubuntu 16に対してMicrosoftのサポートがあります。

  • 現在、Ubuntu 16用の公式なMicrosoft Dockerイメージはありません。

    Manual Ubuntu 16 Setup
    手動のUbuntu 16セットアップ

    手動でインストールしたい場合や、アプリが_sudo_管理者権限で実行できない場合。

    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互換性

Debianは、私たちがテストする2番目に多いLinuxオペレーティングシステムです。 このプラットフォームには公式のMicrosoft .NETサポートと公式のDockerイメージもあります。

デビアン11

Debian 11は、Visual Studioで.NETプロジェクトにDockerサポートを追加する際にMicrosoftが使用するデフォルトのLinuxディストリビューションです。

デフォルトの設定で ゼロコンフィギュレーション で Debian 11 をサポートします。

  • ChromeおよびWebKitベースのHTMLからPDFへのレンダリングエンジンをサポートします。
  • 公式に .NET Core 3.1、5、6 をサポート (LTS (長期サポート))ランタイムバージョン**, 7 および 8
  • 非公式には、Debian 11の多くの他の.NET Coreランタイムをサポートしています。
  • このプラットフォームでは、各リリース前に997以上のユニットテストを実行します。

    公式Microsoft Dockerイメージ:

  • 64ビットDebian 11 Dockerイメージ (.NET Runtime 3.1 用)
  • 64ビットDebian 11のDockerイメージ (.NET ランタイム 5.0用)

    マニュアル Debian 11 セットアップ

    手動でインストールしたい場合や、アプリが_sudo_管理者権限で実行できない場合。

    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/)

デビアン 10

Debian 10に対して出荷時の状態で_設定不要_で対応しています。

  • ChromeおよびWebKitベースのHTMLからPDFへのレンダリングエンジンをサポートします。
  • 公式に .NET Core 3.1、5、6 をサポート (LTS (長期サポート))ランタイムバージョン**, 7 および 8
  • 非公式には、Debian 10上の他の多くの.NET Coreランタイムもサポートしています。
  • このプラットフォームでは、各リリース前に997以上のユニットテストを実行します。

    公式Microsoft Dockerイメージ:

  • 64ビット Debian 10 Docker イメージ (.NET Runtime 3.1用)
  • .NET Runtime 5.0用の64ビットDebian 10 Dockerイメージ

    手動Debian 10セットアップ

    手動でインストールしたい場合や、アプリが_sudo_管理者権限で実行できない場合。

    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 およびそれ以前

Debian 9は公式にテストされておらず、IronPDFではすぐに動作しません。 ただし、Debian 9 上の .NET は Microsoft によって公式にサポートされており、正しくセットアップすれば IronPDF と連携して動作することができます。

(「参照」Linux向けの一般的な依存パターンこのドキュメントの最後に).

Debian 9 用の .NET Core 3.1 または .NET 5.0 に対して、Microsoft による公式の Docker イメージは存在しません。Debian 10 への移行を強くお勧めします。

CentOS互換性

私たちはCentOSを積極的に支持し、サポートしています。

CentOS 8サポート

_ゼロ構成_で箱から出してすぐにCentOS 8をサポートします。

  • ChromeおよびWebKitベースのHTMLからPDFへのレンダリングエンジンをサポートします。
  • 公式に .NET Core 3.1、5、6 をサポート (LTS (長期サポート))ランタイムバージョン**, 7 および 8
  • 非公式には、CentOS上の他の多くの.NET Coreランタイムもサポートしています。
  • リリースの前に、このプラットフォームで包括的なスモークテストを実施します。

    残念ながら、CentOS 8用の.NET Core 3.1や.NET 5.0の公式DockerイメージはMicrosoftから提供されていません。

    CentOS 8 手動セットアップ

    手動でインストールしたい場合や、アプリが_sudo_管理者権限で実行できない場合。

    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 以下

CentOS 7はテストされておらず、IronPDFではそのままでは動作しません。

ただし、Microsoft によって正式にサポートされている CentOS 7 上の .NET は、正しくセットアップされていれば IronPDF と共に動作する可能性があります。 (以下をお読みくださいLinux向けの一般的な依存パターン「以下」).

.NET Core 3.1 や .NET 5.0 用の CentOS 7 に対応した Microsoft の公式 Docker イメージはありません。

Amazon AWS Linux 2 互換性

私たちは、Amazonのクラウドサービス(EC2やLambdaなど)の基盤を形成するAmazon AWS Linux 2に対応しています。

  • Amazon AWS Linux 2上にMicrosoftによる.NET Core 3.1または.NET 5.0の公式Dockerイメージはありません。
  • IronPDFを開発する際に、Amazon AWS Linux 2との互換性を手動でテストします。

    以下を読むことをおすすめします IronPDF AWS Lambda AWS LambdaでIronPDFを動作させるDockerファイルを含むガイド。

    Amazon Linux 2 手動セットアップ

    手動でインストールしたい場合や、アプリが_sudo_管理者権限で実行できない場合。

    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/)

公式サポートのドキュメントもお読みください。 AWS Lambda用のIronPDF Amazonクラウドプラットフォームでのインストールとログ記録を含みます。

Fedora Linux互換性

Fedora Linux はサポートされています。

Fedora Linux 33をゼロ構成でサポートします。

  • ChromeおよびWebKitベースのHTMLからPDFへのレンダリングエンジンをサポートします。
  • 公式に .NET Core 3.1、5、6 をサポート (LTS (長期サポート))ランタイムバージョン**, 7 および 8

  • リリースの前に、このプラットフォームで包括的なスモークテストを実施します。

    マニュアル Fedora Linux セットアップ

    手動でインストールしたい場合や、アプリが_sudo_管理者権限で実行できない場合。

    これは、古いバージョンや新しいバージョンのFedora Linuxにも役立つ可能性があります。

    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の互換性

Alpine LinuxでIronPDFを実行することはサポートされていません。 できればそうしたいのですが、できません。 率直に言って、私たちはAlpineが好きで、このプロジェクトが存続し、成長し続けることを願っています。 2023年現在、Alpineは依然として時代遅れの「musl」C言語ライブラリを使用しており、これによりChromium開発者はこのOSを完全にサポートすることができていません。

.NET 6でIronPdfEngineを使用するためのAlpine Docker

IronPdfは、すべてのIronPdf機能を含むコンテナイメージを提供します。 これは、Alpine上で実行されているプロジェクトがIronPdfEngineコンテナに接続することでIronPDFの機能にアクセスできるようにします。

ステップ1: IronPdf エンジンドッカーイメージをプルして実行します

以下のコマンドをターミナルで実行して、IronPdfエンジンドッカーイメージをプルして実行してください:

docker pull ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine

ステップ2: コンソールアプリの設定

新しいコンソールアプリケーションを.NET 6をターゲットにして作成してください。

NuGetパッケージマネージャーを使用して、IronPdf.Slim NuGetパッケージをインストールします。

他のLinuxディストリビューション

Linux 用の IronPDF の前提条件を手動でインストールすることもできます。apt-get hfs および yum を使用します。

これにより、サポートされていない多くのLinuxディストリビューションでIronPDFを使用することができます。

インストールの初回時には、IronPDFは必要なシステム依存関係について通知するために例外をスローすることがあります。

  • 以下に記載されている IronCefSubprocess は、アプリケーションの bin フォルダー内のバイナリです。 正確なパスを指定する必要があるかもしれません。それは binruntimes サブディレクトリにある場合があります。
  • sudo権限が必要になる場合があります。

    リストにないLinux OSでの手順に不明点がある場合; そのOSでChromiumブラウザの依存関係を調査する。

    別のLinuxディストリビューションの公式サポートを求める方は、support@ironsoftware.com にご連絡ください。

    Linux 共通の依存関係パターン

    他のLinux OSの依存パッケージも上記で確認してください。

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(アイアンセフサブプロセス)

アプリケーションの bin フォルダ内にあるバイナリファイルが IronCefSubprocess です。 それは .NET プロセスによって実行可能である必要があります。

「例」 (パスは異なる場合があります)

chmod 755 bin/runtimes/linux-64/IronCefSubprocess

Linux での .NET 単一ファイル公開

Linuxでプロジェクトを単一ファイルとして公開することを選択した場合、以下のように行います。

dotnet publish -r linux-x64 /property:PublishProfile=FolderProfile /bl

一時ファイルパス

開発者は、特定の使用例に対して一時ファイルを作成できる書き込み可能なディレクトリを指定する必要がある場合があります。

一般的で安全な値として Linux ではこのパスに /tmp/ を使用しますが、最終的にはユーザーがファイルを読み書きできるパスでなければなりません。

//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
VB   C#