IRONSOFTWAREHOME
ビデオ

.NET C# でページの方向と回転を設定する方法 | IronPDF

Curtis Chau
Curtis Chau
Updated: 2026年7月19日

SelectPdfからIronPDFへの移行は、PDF生成ワークフローをWindowsのみに依存するライブラリから、最新のChromiumを使用し、全CSS3およびJavaScriptに対応したクロスプラットフォームのライブラリに移行します。 このガイドは、SelectPdfではサポートされていないLinux、Docker、Azure Functions、その他のクラウドプラットフォームへのデプロイを可能にする完全なステップバイステップの移行パスを提供します。

なぜSelectPdfからIronPDFへ移行するのか

SelectPdfを理解する

SelectPdfは、C#を使用してHTMLコンテンツをPDFに変換するために設計された商用ライブラリです。 このライブラリは、アプリケーション内にPDF生成機能をシームレスに統合することを必要とする開発者向けに作られています。 SelectPdfの強みはそのシンプルなAPIにあり、PDF生成の初心者にとって魅力的な選択肢となっています。

しかし、潜在的なユーザーは、その重大な制限を認識する必要があります。 ベンダー自身のドキュメントによると、SelectPdfはWindowsでのみ動作し、LinuxやmacOS、Xamarinでは動作しません。 これは、Linux Azure FunctionsやDockerなどのクラウドベースのデプロイメントソリューションを検討する際に大きな障害となります。 Community Editionは1PDFあたり5ページに制限され、ライセンスキーを購入するまで全ページに透かしが入ります。 SelectPdfのデフォルトのレンダリングエンジンは内部WebKitです; オプションのBlinkエンジンは2024年4月のChromium 124に同梱されており、最新のChromeより遅れているため、CSS GridやFlexbox gap プロパティなどの新しいCSS機能に問題を引き起こすことがあります。

SelectPdfの重大な制限事項

問題インパクトIronPDF ソリューション
WindowsのみLinux、Docker、Azure Functionsにはデプロイできません。クロスプラットフォームの完全サポート
デフォルトのWebKitエンジン;オプショナルのBlinkエンジンはChromium 124(2024年4月)と共に提供新しいCSS機能はデフォルトのエンジンで失敗する可能性があります最新のChromium
無料版は5ページまでライセンスが購入されるまで全ページに透かしが入ります豊富なトライアル
.NET 10はWindowsのみ対応Linux/macOS/コンテナーデプロイメントなしすべてのプラットフォームでフル.NET 10対応
クラウドデプロイメントブロック(非Windows)AWS LambdaまたはLinux Azure Functionsを使用できませんクラウドネイティブ

SelectPdfとIronPDFの比較

フィーチャーセレクトPDFIronPDF
プラットフォームサポートWindowsのみ完全なクロスプラットフォーム、10以上のディストロ
最新のWeb標準のサポートデフォルトはWebKit; オプションのBlinkはChromium 124(2024年4月)ですフルCSS3、最新のChromium
最大無料版ページ数5ページ+ページごとの透かし柔軟性、制限なし
価格について$499 シングル開発者から $1,599 エンタープライズOEM透明で柔軟な価格設定
.NET 10サポートはい、ただしWindowsのみはい、すべてのプラットフォーム
クラウド環境におけるデプロイメントWindows対象のみフルサポート(Windows + Linux)
CSSグリッドWebKit:制限; Blink(Chromium 124):サポートサポート対象
Flexbox(間隔プロパティ)WebKit:サポートされていない; Blink:サポートサポート対象
CSS変数についてWebKit:サポートされていない; Blink:サポートサポート対象
Docker (Linux)サポートされていません公式画像
Azure Functions (Linux)サポートされていませんサポート対象
AWSラムダサポートされていませんサポート対象

SelectPdfのNetCoreパッケージは.NET Standard 2.0を対象とし、.NET 5から.NET 10と互換性があると記載されていますが、Windowsのみで動作するため、Linuxコンテナ、AWS Lambda、またはLinuxベースのAzure Appサービスへデプロイするチームにとっては、その互換性は無効です。IronPDFは同じ.NETバージョンをサポートし、Windows、Linux、macOS、Docker上で動作します。


始める前に

前提条件

  1. .NET環境: .NET Framework 4.6.1+ または .NET Core 3.1+ / .NET 5/6/7/8/9/10+
  2. NuGetアクセス: NuGetパッケージをインストールする機能
  3. IronPDFライセンス: IronPDFからライセンスキーを取得します。

NuGetパッケージの変更

# RemoveセレクトPDF(use Select.HtmlToPdf.NetCore on .NET Core / .NET 5+)
dotnet remove package Select.HtmlToPdf
# or: dotnet remove package Select.HtmlToPdf.NetCore

# Install IronPDF
dotnet add package IronPdf
SHELL

ライセンス構成

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

完全な API リファレンス

名前空間の変更

// Before: SelectPdf
using SelectPdf;

// After: IronPDF
using IronPdf;
using IronPdf.Engines.Chrome;

コア API マッピング

セレクトPDFIronPDFノート
HtmlToPdfChromePdfRendererコアコンバータクラス
converter.ConvertHtmlString(html)renderer.RenderHtmlAsPdf(html)HTML文字列の変換
converter.ConvertUrl(url)renderer.RenderUrlAsPdf(url)URL変換
doc.Save(path)pdf.SaveAs(path)ファイルに保存
doc.Close()不要IronPDFはクリーンアップを行います。
converter.Options.PdfPageSizerenderer.RenderingOptions.PaperSize用紙サイズ
converter.Options.PdfPageOrientationrenderer.RenderingOptions.PaperOrientationオリエンテーション
converter.Options.MarginToprenderer.RenderingOptions.MarginTopトップマージン
converter.Options.MarginBottomrenderer.RenderingOptions.MarginBottom下部の余白
converter.Options.MarginLeftrenderer.RenderingOptions.MarginLeft左余白
converter.Options.MarginRightrenderer.RenderingOptions.MarginRight右マージン
PdfPageSize.A4PdfPaperSize.A4A4サイズ
PdfPageOrientation.PortraitPdfPaperOrientation.Portraitポートレート列挙
PdfPageOrientation.LandscapePdfPaperOrientation.Landscapeランドスケープ列挙
{page_number}{page}ページ番号プレースホルダ
{total_pages}{total-pages}総ページ数

コード移行の例

例1: HTML文字列からPDFへの変換

翻訳前 (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
        
        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertHtmlString(htmlContent);
        doc.Save("document.pdf");
        doc.Close();
        
        Console.WriteLine("PDF generated from HTML string");
    }
}

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
        
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("document.pdf");
        
        Console.WriteLine("PDF generated from HTML string");
    }
}

この例は、コアAPIの違いを示しています。 SelectPdfは変換クラスとしてHtmlToPdf を使用し、ConvertHtmlString() を呼び出してPdfDocument を作成し、その後Save()Close() を使って保存とクリーンアップを行います。

IronPDFはChromePdfRendererRenderHtmlAsPdf() を使用し、PdfDocument を返し、それをSaveAs() によって保存します。 Close() 呼び出しは排除され、IronPDFが自動的にリソース管理を行います。 包括的な例については、HTML to PDF documentationを参照してください。

例2: URLからPDFへの変換

翻訳前 (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertUrl("https://www.example.com");
        doc.Save("output.pdf");
        doc.Close();
        
        Console.WriteLine("PDF created successfully");
    }
}

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("output.pdf");
        
        Console.WriteLine("PDF created successfully");
    }
}

SelectPdfのConvertUrl() メソッドはIronPDFのRenderUrlAsPdf() と直接対応しています。 重要な違いはレンダリングエンジンです:SelectPdfはデフォルトで内部WebKitを使用し、Chromium 124(2024年4月)がバンドルされたオプショナルなBlinkエンジンを提供しますが、IronPDFは最新の安定したChromiumを使用してCSS3とJavaScriptを完全サポートします。 詳しくは、チュートリアルをご覧ください。

例3: カスタムページの設定と余白

翻訳前 (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();
        
        converter.Options.PdfPageSize = PdfPageSize.A4;
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
        converter.Options.MarginTop = 20;
        converter.Options.MarginBottom = 20;
        converter.Options.MarginLeft = 20;
        converter.Options.MarginRight = 20;
        
        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        PdfDocument doc = converter.ConvertHtmlString(html);
        doc.Save("custom-settings.pdf");
        doc.Close();
        
        Console.WriteLine("PDF with custom settings created");
    }
}

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;
        
        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("custom-settings.pdf");
        
        Console.WriteLine("PDF with custom settings created");
    }
}

ページ設定のパターンはほぼ同じで、プロパティ名が変更されています:

  • converter.Options.PdfPageSizerenderer.RenderingOptions.PaperSize
  • converter.Options.PdfPageOrientationrenderer.RenderingOptions.PaperOrientation
  • PdfPageSize.A4PdfPaperSize.A4
  • PdfPageOrientation.PortraitPdfPaperOrientation.Portrait

マージンプロパティは、同じ名前と単位を維持します。


Windowsだけの問題

SelectPdfのプラットフォームの制限

マーケティング上の主張にもかかわらず、SelectPdf は次のことを明示的にサポートしていません。

  • Linux(ディストリビューションを問わず)
  • macOS
  • Dockerコンテナ
  • Azure Functions
  • AWSラムダ
  • Google クラウド機能
  • ARMベースのシステム

SelectPdfはWindows固有のライブラリに依存しているため、移植はできません。

プラットフォーム サポートの比較

プラットフォームセレクトPDFIronPDF
Windows Server 2019+
Windows 10/11
Ubuntu 20.04+
Debian 10 以上
CentOS 7 以上
アルパインリナックス
Amazon Linux 2
macOS 10.15+
Azure App Service(Linux)
Azure Functions
AWSラムダ
Docker (Linux)
Kubernetes

時代遅れのレンダリングエンジン

CSS機能サポートの比較

SelectPdfは3つのエンジンを提供しています(ベンダードキュメント):内部のWebKit(デフォルト)、Blink(v19.1で導入され、Chromium 124.0.6367.201—2024年4月公開とバンドル)、およびChromium/CEF。 デフォルトのWebKitエンジンは、最新のウェブ標準に追いついていません:

CSS機能SelectPdf(WebKitデフォルト)SelectPdf(Blink、Chromium 124)IronPDF
CSSグリッド⚠ 部分的/壊れたフル
フレックスボックス(基本)
Flexbox(ギャッププロパティ)
CSS変数
CSS calc()⚠ 限定されています
メディアプリント⚠ 限定されています
フォントフェイス⚠ 限定されています
ウェブフォント⚠ 限定されています
SVG⚠ 基本フル
CSSトランスフォーム⚠ 限定されています
CSSアニメーション⚠ 部分的

移行後の新機能

IronPDFに移行すると、SelectPdfでは提供できない機能が得られます:

クロスプラットフォームデプロイメント

// ✅IronPDF- Works everywhere
using IronPdf;

//Azure App Service(Linux)- WORKS
// Docker container - WORKS
//AWSラムダ- WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");

最新の CSS サポート

// ✅IronPDF- Uses latest stable Chromium
var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!

Close()は必要ありません

IronPDFはリソース管理を自動的に行います:

// Option 1: Let garbage collection handle it
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// No Close() needed

// Option 2: Explicit disposal
using (var pdf = renderer.RenderHtmlAsPdf(html))
{
    pdf.SaveAs("output.pdf");
}

移行チェックリスト

移行前

  • コードベース内のすべてのSelectPdfの使用を監査する
  • マッピング用の電流コンバータオプションを文書化します
  • ヘッダー/フッターの実装を特定する
  • ページ番号プレースホルダー構文を確認する ({page_number}{page})
  • ベースURLの処理パターンに注意してください
  • ターゲット展開プラットフォームを確認する
  • IronPDFからIronPDFライセンスキーを取得します

コードの更新

  • Select.HtmlToPdf NuGetパッケージを削除する
  • IronPdf NuGetパッケージをインストールする
  • 名前空間のインポートを更新する (using SelectPdf;using IronPdf;)
  • HtmlToPdfChromePdfRenderer に置き換える
  • ConvertHtmlString()RenderHtmlAsPdf() に置き換える
  • ConvertUrl()RenderUrlAsPdf() に置き換える
  • オプションプロパティ名を更新する (Options.PdfPageSizeRenderingOptions.PaperSize)
  • PdfPageSizePdfPaperSize に変換する
  • PdfPageOrientationPdfPaperOrientation に変換する
  • doc.Save()pdf.SaveAs() に置き換える
  • すべてのdoc.Close() 呼び出しを削除する
  • ページ番号プレースホルダーを修正する ({page_number}{page}, {total_pages}{total-pages})
  • アプリケーションの起動時にライセンスの初期化を追加

移行後

  • すべてのユニットテストを実行する
  • CSSレンダリング(特にGrid/Flexbox)を検証する
  • JavaScriptの実行をテストする
  • ヘッダー/フッターのページ番号を確認する
  • ターゲット プラットフォーム (Linux、Docker など) でテストする
  • パフォーマンステスト
  • PDF出力品質の比較
  • CI/CDパイプラインを更新する
  • クラウド展開をテストする(該当する場合)

ご注意: SelectPDFはその所有者の登録商標です。 このサイトは、Outside Software SRLまたはSelectPdfと提携しておらず、承認されていないか、スポンサードされていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。
Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。