IRONSOFTWAREHOME
ビデオ

DockerでIronPDFエンジンを使う方法|IronPDF

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

2025年5月27日、ApryseがTallComponentsを買収しました。 新しいTallPDF.NETおよびPDFKit.NETのライセンスは提供されなくなり、新しい購買者はApryseが所有するiText SDKにルーティングされます。 既存の顧客はサポートを受け続けますが、エンジンはメンテナンス専用です。 現在TallComponentsで出荷しているチームは、今移行を計画することで、後での強制的な切り替えを避けられます。

このガイドは、TallComponentsからIronPDFへの移行パスを提供し、ステップバイステップの指示、APIマッピング、および.NET開発者が計画する移行のためのコード例を含んでいます。

TallComponents移行計画の理由

TallComponents (2001年創業)は2つの主要な.NET PDF製品を出荷しました:PDFの読み込みと操作のためのPDFKit.NET、およびレイアウト指向のドキュメント生成のためのTallPDF.NETです。 Apryseの買収に伴い、新しいライセンス販売が終了し、ライブラリに依存するチームの計画の展望が変わることになりました。

今日の主なTallComponentsの制限事項

新しいライセンスは閉鎖されました: ApryseのTallComponentsページは、TallComponents製品の新しいライセンスを提供しないことを述べており、新しい購買者をiText SDKに導いています。 既存のライセンス所有者はサポートを受け続けます。

XHTMLのみのHTMLパイプライン: TallPDF.NETは、XhtmlParagraphクラスを搭載しており、XHTML 1.0 Strict / XHTML 1.1 + CSS 2.1を解析します。PDFKit.NET自体にはHTMLパイプラインがありません。最新のHTML5 + CSS3 + JavaScriptのコンテンツは信頼性に欠けるレンダリングです — ヘッドレスブラウザエンジンは組み込まれていません。

固定プラットフォームターゲット: TallComponents.PDFKit5は.NET Standard 2.0をターゲットとしています; 古いTallComponents.PDFKit (4.x)は.NET Framework 2.0をターゲットとしています。.NET 8/9 TFMは公開されていません。

メンテナンスのみのロードマップ: Apryseの開発エネルギーがApryse SDKとiTextに集中しているため、TallComponentsブランドのパッケージはメンテナンス更新を受けるが新機能ロードマップはありません。

IronPDF:最新のTallComponents代替ツール

IronPDFは、最新 for .NETスタックユーザーに影響を及ぼすTallComponentsのコアギャップに対処します。

フィーチャートールコンポーネントIronPDF
現在の販売状況新しいライセンスは閉鎖されています(Apryseは2025-05-27に買収しました)アクティブに販売されています
HTMLからPDFのサポートXHTML 1.0/1.1 +CSS 2.1をXhtmlParagraph (TallPDF.NET) を通じてはい(Chromiumを使用したHTML5/CSS3)
HTML for JavaScriptなしフルES2024
インストールNuGet (TallComponents.PDFKit5, TallComponents.TallPDF5)NuGet (IronPdf)
顧客サポート既存の顧客のみ; 新しい購買者はiTextにルーティングされますアクティブなサポートとコミュニティ
将来の投資メンテナンスのみ長期ロードマップ

TallComponentsは、旧時代 for .NETドキュメント生成に基づいたXML/レイアウト指向モデルを使用している一方で、IronPDFは、チームが今日のフロントエンドアプリケーションを構築する方法に合わせた、Chromiumを搭載したHTMLレンダリングを提供します。

クイックスタート:TallComponentsからIronPDFへの移行

ステップ 1: NuGet パッケージを置き換える

プロジェクトで参照しているTallComponentsパッケージを削除します。 nuget.org上の実際のパッケージIDはTallComponents.PDFKit5 (または4.xの場合はTallComponents.PDFKit) とTallComponents.TallPDF5 / TallPDF6です。

# Removeトールコンポーネントpackages (whichever your project uses)
dotnet remove package TallComponents.PDFKit5
dotnet remove package TallComponents.TallPDF5
dotnet remove package TallComponents.PDFRasterizer4
SHELL

IronPDFをインストールします:

dotnet add package IronPdf

特殊なフレームワークのために、IronPDFは専用の拡張パッケージを提供しています:

Blazorサーバー:

PM > Install-Package IronPdf.Extensions.Blazor

MAUI:

PM > Install-Package IronPdf.Extensions.Maui

MVCフレームワーク:

PM > Install-Package IronPdf.Extensions.Mvc.Framework

ステップ 2: 名前空間の更新

TallComponentsの名前空間をIronPDFの名前空間に置き換えます。

// Before (TallComponents — real namespaces)
using TallComponents.PDF;                    // Document, Page (PDFKit.NET)
using TallComponents.PDF.Shapes;             // TextShape, ImageShape (PDFKit)
using TallComponents.PDF.Security;           // PasswordSecurity
using TallComponents.PDF.Layout;             // Document, Section (TallPDF.NET)
using TallComponents.PDF.Layout.Paragraphs;  // TextParagraph, XhtmlParagraph

// After (IronPDF)
using IronPdf;

ステップ 3: ライセンスの初期化

アプリケーション起動時のライセンス初期化を追加します:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

TallComponentsからIronPDFへのAPIマッピングリファレンス

TallComponentsのコンセプトがIronPDFにどのようにマッピングされるかを理解することで、移行プロセスが加速されます:

トールコンポーネントIronPDFノート
Document (TallPDF.NET: レイアウト)ChromePdfRendererPDF生成のためのレンダラー作成
Document (PDFKit.NET: 操作)PdfDocument既存のPDFを読み込み/編集する
Section自動翻訳HTML構造から派生したセクション
TextParagraphHTMLテキスト要素<div>などを使用します。
ImageParagraph<img>タグ標準的なHTML画像
TableParagraphHTML <table>標準的なHTMLテーブル
XhtmlParagraph (XHTML 1.x + CSS 2.1)RenderHtmlAsPdf() (HTML5/CSS3をChromiumで使用)最新のHTMLが機能します
FontCSS font-family対応ウェブフォント
document.Write(...)pdf.SaveAs() / pdf.BinaryDataファイルまたはバイト[]出力
page.Overlay.Add(shape)pdf.ApplyStamp(stamper)透かし / オーバーレイ
outputDoc.Pages.Add(page.Clone())PdfDocument.Merge(...) / pdf.AppendPdf(...)複数のPDFをマージ
Document.Security = new PasswordSecurity { ... }pdf.SecuritySettingsPDFセキュリティ設定
PageLayoutRenderingOptionsページ設定と余白

コード移行の例

###HTMLを PDF に変換する

TallComponentsは、TallPDF.NETのXhtmlParagraphを通じてHTMLを扱い、XHTML 1.0/1.1 + CSS 2.1のみを解析します。 最新のHTML5、CSS3、フレックスボックス、グリッド、そしてJavaScript駆動のコンテンツは、その文法の範囲外です。

TallComponentsのアプローチ:

// NuGet: Install-Package TallComponents.TallPDF5
// (HTML/XHTML conversion lives in TallPDF.NET, not in PDFKit.NET.)
using TallComponents.PDF.Layout;
using TallComponents.PDF.Layout.Paragraphs;
using System.IO;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Section section = document.Sections.Add();

        // XhtmlParagraph supports XHTML 1.0/1.1 +CSS 2.1only.
        XhtmlParagraph xhtml = new XhtmlParagraph();
        xhtml.Text = "<html><body><h1>Hello World</h1><p>This is a PDF from XHTML.</p></body></html>";
        section.Paragraphs.Add(xhtml);

        using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
        {
            document.Write(fs);
        }
    }
}
C#

IronPDFのアプローチ:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Create a PDF fromHTMLstring
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";
        
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
C#

IronPDFのChromePdfRendererは、純粋なChromiumエンジンを使用し、完全なHTML5とCSS3のサポートを提供します。 これは、PDFが最新のブラウザで表示されるように正確にレンダリングされることを意味します。 詳しくはHTML to PDFチュートリアルをご覧ください。

複数のPDFをマージする

PDFマージはTallComponentsとIronPDFの冗長性の違いを示しています。

TallComponentsのアプローチ:

// NuGet: Install-Package TallComponents.PDFKit5
using TallComponents.PDF;
using System.IO;

class Program
{
    static void Main()
    {
        // Create target document
        Document outputDoc = new Document();

        // Load first PDF and clone each page into the target
        using (FileStream fs1 = new FileStream("document1.pdf", FileMode.Open, FileAccess.Read))
        {
            Document doc1 = new Document(fs1);
            foreach (Page page in doc1.Pages)
            {
                outputDoc.Pages.Add(page.Clone()); // clone is required across documents
            }
        }

        // Load second PDF and append the whole page collection
        using (FileStream fs2 = new FileStream("document2.pdf", FileMode.Open, FileAccess.Read))
        {
            Document doc2 = new Document(fs2);
            outputDoc.Pages.AddRange(doc2.Pages.CloneToArray());
        }

        // Save merged document
        using (FileStream output = new FileStream("merged.pdf", FileMode.Create))
        {
            outputDoc.Write(output);
        }
    }
}

IronPDFのアプローチ:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Load PDFs
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");
        
        // Merge PDFs
        var merged = PdfDocument.Merge(pdf1, pdf2);
        
        // Save merged document
        merged.SaveAs("merged.pdf");
    }
}

TallComponentsバージョンでは、手作業によるページの反復と複製が必要です。 IronPDFはこれを単一のPdfDocument.Merge()呼び出しにまで簡略化します。 高度なマージシナリオについては、PDFマージドキュメントを参照してください。

透かしの追加

PDFに透かしを入れることで、開発者の経験におけるもう1つの大きな違いが明らかになります。

TallComponentsのアプローチ:

// NuGet: Install-Package TallComponents.PDFKit5
using TallComponents.PDF;
using TallComponents.PDF.Shapes;
using System.IO;
using System.Drawing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        using (FileStream fs = new FileStream("input.pdf", FileMode.Open, FileAccess.Read))
        {
            Document document = new Document(fs);

            foreach (Page page in document.Pages)
            {
                TextShape watermark = new TextShape();
                watermark.Text = "CONFIDENTIAL";
                watermark.Font = new Font("Arial", 60);
                watermark.Pen = new Pen(Color.FromArgb(128, 255, 0, 0));
                watermark.X = 200;
                watermark.Y = 400;
                // Rotation is applied via a transform on PDFKit.NET
                // (TextShape has no Rotate property in the PDFKit API).
                watermark.Transform = new RotateTransform(45);

                page.Overlay.Add(watermark);
            }

            using (FileStream output = new FileStream("watermarked.pdf", FileMode.Create))
            {
                document.Write(output);
            }
        }
    }
}

IronPDFのアプローチ:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        var pdf = PdfDocument.FromFile("input.pdf");
        
        // Create watermark
        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 60,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };
        
        // Apply watermark to all pages
        pdf.ApplyStamp(watermark);
        
        // Save watermarked PDF
        pdf.SaveAs("watermarked.pdf");
    }
}

IronPDFのTextStamperクラスは直感的な配置オプションと自動ページ反復を提供します。 スタンプと透かしのガイドでは、その他のカスタマイズオプションについても説明しています。

デジタル署名

文書署名は、企業アプリケーションにとって非常に重要です。

TallComponentsのアプローチ:

using TallComponents.PDF;
using TallComponents.PDF.Signing;
using System.IO;
using System.Security.Cryptography.X509Certificates;

using (FileStream fs = new FileStream("unsigned.pdf", FileMode.Open, FileAccess.Read))
{
    Document document = new Document(fs);

    X509Certificate2 cert = new X509Certificate2("certificate.pfx", "password");
    SignatureField field = new SignatureField("Signature1");
    field.Sign(cert);
    document.Fields.Add(field);

    using (FileStream output = new FileStream("signed.pdf", FileMode.Create))
    {
        document.Write(output);
    }
}

IronPDFのアプローチ:

using IronPdf;
using IronPdf.Signing;

var pdf = PdfDocument.FromFile("unsigned.pdf");

// Sign with certificate
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningLocation = "New York",
    SigningReason = "Document Approval"
};

pdf.Sign(signature);
pdf.SaveAs("signed.pdf");

IronPDFの署名APIには、連絡先、場所、署名理由などのメタデータプロパティが追加されています。 完全な実装の詳細については、デジタル署名ドキュメントを参照してください。

機能の比較:TallComponents vs IronPDF

フィーチャートールコンポーネントIronPDF
ステータス新しいライセンスは閉鎖されています(Apryseは2025-05-27に買収しました)活発
サポート既存の顧客のみフル
更新情報メンテナンスのみ定期的な機能リリース
コンテンツ作成
HTMLからPDFへXHTML 1.0/1.1 +CSS 2.1(XhtmlParagraph)Chromiumを通じた完全なHTML5/CSS3
URLからPDFへXHTML URLに対応 (XhtmlParagraph.Path)はい
CSSサポートCSS 2.1完全なCSS3
JavaScriptなしフルES2024
XML / レイアウトDOMテンプレートはい (TallPDF.NET)不必要 (HTML)
PDFオペレーション
PDFのマージはい (Pages.Add(page.Clone()))はい (PdfDocument.Merge)
PDFの分割はいはい
透かしpage.Overlay.Add(TextShape)pdf.ApplyStamp(...)
ヘッダー/フッターレイアウトDOMHTML/CSS
セキュリティ
パスワード保護はい (PasswordSecurity)はい
デジタル署名はい (SignatureField.Sign)はい
暗号化RC4 / AES-128 / AES-256AES-128 / AES-256
PDF/APDF/A-1, PDF/A-2, PDF/A-3はい
プラットフォーム
ターゲット・フレームワークPDFKit5: .NET Standard 2.0; PDFKit (4.x): .NET Framework 2.0.NET Framework 4.6.2+, .NET 6/7/8/9
開発分野
学習曲線XML / レイアウトDOMHTML
ドキュメンテーション買収時に凍結; 新しいドキュメントはApryse / iTextにルートされますメンテナンスされています
コミュニティ静か (新しい販売なし)活発

TallComponents移行チェックリスト

マイグレーション前のタスク

コードベースを監査して、TallComponents の使用法をすべて特定してください:

grep -r "using TallComponents" --include="*.cs" .
grep -rE "XhtmlParagraph|TextParagraph|PasswordSecurity|page\.Overlay" --include="*.cs" .
SHELL

既存のXML/レイアウトテンプレートを文書化します。これらはHTMLに変換されます。 現在使用されているセキュリティ設定を特定し、パスワード設定とデジタル署名の実装に言及すること。

コード更新タスク

1.NuGet経由でTallComponentsパッケージを削除する 2. IronPDFパッケージをインストールします 3. XHTML / レイアウトDOMテンプレートをHTML5に変換します 4.セクション/パラグラフモデルをHTML要素に置き換える 5.標準的なHTMLテーブルを使用するようにテーブルコードを更新 6. HtmlHeaderFooterを用いてヘッダー/フッターをHTMLに変換します 7. pdf.SecuritySettingsを使用するようにセキュリティ設定を更新します 8.起動時のライセンス初期化を追加

ヘッダーとフッターの移行

TallPDF.NETはページヘッダー用にレイアウトDOM (Section.Header / Section.Footer) を使用します。 IronPDFは動的プレースホルダーを持つHTMLベースのヘッダーを提供します:

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Header Text</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Footer Text</div>",
    MaxHeight = 25
};

IronPDFのヘッダーとフッターについてはこちらをご覧ください。

テスト段階

1.TallComponentsとIronPDFのビジュアル出力の比較 2. 全てのドキュメントテンプレートをテストします 3. PDFマージ機能を検証します 4. デジタル署名をテストします 5. セキュリティ設定が正しく適用されていることを確認します

推奨される移行スケジュール

TallComponents は新しいライセンスを締め切り、メンテナンス専用のサポートに移行しているため、移行を自分のペースで計画してください。ただし、滞らないでください。

**第1週:**コードベースを監査し、すべてのトールコンポーネントの使用状況を特定する
第2週: XHTML / レイアウトテンプレートをHTML5に変換する **第3週:**セキュリティ、マージ、コード署名の更新
**第4週:**テストと本番環境への展開

スタックがTallComponents上に留まるほど、現在 for .NETターゲットや現在のHTMLからさらに離れていきます。

ご注意: Apryse, PDFKit, Tall Components、およびiTextは、それぞれの所有者の登録商標です。 このサイトは、Apryse、PDFKit、PDFTron、TallComponents、またはiText Groupと提携しておらず、承認または後援されていません。すべての製品名、ロゴ、およびブランドは、それぞれの所有者の財産です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。
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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。