IRONSOFTWAREHOME
ビデオ

C#でIronPDFを使用してすべてのPDF DOMオブジェクトにアクセスする方法|IronPDF

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

Telerik Document Processingは、Telerik UIスイートおよびDevCraftバンドルの一部として出荷され、開発者にWord、Excel、およびPowerPoint処理を併用してPDF生成機能を提供しています。 しかし、現代のウェブ標準が進化し、プロジェクトが完全なCSS3、Flexbox、Bootstrapサポートを要求する中で、開発チームはTelerikのHTMLからのPDFレンダリングアーキテクチャの制限に関する懸念を表明してきました。

このガイドでは、Telerik Document ProcessingからIronPDFへの完全な移行経路を、ステップバイステップの手順、コードの比較、実際の移行シナリオから直接抽出した実用的な例で説明します。

なぜ Telerik ドキュメント処理から移行するのか

Telerik Document Processingからの移行は、通常、最新のウェブコンテンツを扱う際に明らかになる技術的な制約に起因します。 これらの制限を理解することで、移行作業を正当化し、IronPDFが解決することへの期待を設定することができます。

報告された技術的制限

開発者は、最新のHTMLとCSSの処理に関してTelerik Document Processingに問題があると報告しています。

問題インパクトIronPDF ソリューション
CSS解析の限界Bootstrapのような最新のCSSフレームワークは失敗するChromium CSSの完全サポート
divから段落への変換HTML構造が平坦化され、レイアウトが崩れる直接HTMLレンダリング
フロー文書モデル強制中間変換ネイティブHTMLからPDFへ
外部CSSの問題複雑なセレクタは無視CSSファイルのフルサポート
メモリの問題OutOfMemoryException は大きなファイルで報告されています効率的なストリーミング

核心的な問題: HTML が正しくレンダリングされない

Telerik Document Processingは、PDFを生成する前に、HTMLを中間的な"フロー文書"モデルに変換します。 このアーキテクチャの決定は、連鎖的な問題を引き起こします:

  1. HTML の構造をフラット化<div> 要素が段落になります 2.Ignores modern CSS - FlexboxとGridレイアウトは完全に失敗します。 3.Bootstrapを破る - 列システムが列としてレンダリングされない 4.フォーマットを失う - 複雑なCSSセレクタは無視されます。

標準的なCSSレイアウトを使用したモダンなHTMLを考えてみましょう:

<!-- This modern HTML/CSS BREAKS inTelerik ドキュメント処理-->
<div class="container">
    <div class="row">
        <div class="col-md-6">Column 1</div>
        <div class="col-md-6">Column 2</div>
    </div>
</div>

<div style="display: flex; gap: 20px;">
    <div style="flex: 1;">Flex Item 1</div>
    <div style="flex: 1;">Flex Item 2</div>
</div>

<div style="display: grid; grid-template-columns: repeat(3, 1fr);">
    <div>Grid Item 1</div>
    <div>Grid Item 2</div>
    <div>Grid Item 3</div>
</div>
HTML

Telerik Document Processingでは、これらのレイアウトはすべて連続した段落としてレンダリングされます。2列のBootstrapレイアウトは、2行のテキストになります。 フレックスボックスのアイテムは縦に積み重ねられます。 CSSグリッドの項目は、次々と現れます。

Telerikドキュメント処理で失敗するCSS機能

開発者は、CSSの互換性に関する広範な問題を文書化しています:

/* ❌ These CSS features DON'T WORK inTelerik ドキュメント処理*/

/* Flexbox - サポートされていません */
.container { display: flex; }
.item { flex: 1; }

/* CSS Grid - サポートされていません */
.grid { display: grid; grid-template-columns: repeat(3, 1fr); }

/* Bootstrap columns - Converted to paragraphs */
.col-md-6 { /* Ignored, becomes linear text */ }

/* CSS Variables - サポートされていません */
:root { --primary: #007bff; }
.btn { color: var(--primary); }

/* Complex selectors - Often ignored */
.container > .row:first-child { }
.item:hover { }
.content::before { }

/* Modern units - Limited support */
.box { width: calc(100% - 20px); }
.text { font-size: 1.2rem; }
Text

大規模ドキュメントのパフォーマンスレポート

CSS の制限を超えて、開発者はTelerik ドキュメント処理で大きなファイルを処理する際に OutOfMemoryException エラーを報告しており、サポートされていないカラースペースや一部のシナリオでの PDF マージ中のクラッシュも報告されています。 高音量のドキュメント生成を扱うチームは、長期使用を決定する前に評価する価値のある安定性の懸念を注目する。

IronPDFとTelerik Document Processingの比較:機能比較

機能の違いを理解することは、技術的な意思決定者が移行への投資を評価するのに役立ちます:

フィーチャーTelerik ドキュメント処理IronPDF
HTMLレンダリングフロー ドキュメント変換直接Chromiumレンダリング
CSS3のサポート限られた多くの機能で失敗完全なCSS3
Flexbox(フレックスボックスサポートされていませんサポート対象
CSSグリッドサポートされていませんサポート対象
Bootstrap(ブートストラップブロークン(divの平坦化)Bootstrap 5を含むサポート
外部CSS部分的サポート対象
JavaScript(JavaScriptサポートされていませんフルサポート
大型文書報告されたメモリの問題効率的なストリーミング
APIの複雑さ複雑な(プロバイダ、モデル)シンプル(1クラス)
ライセンスモデル商用、DevCraftの一部シンプルなスタンドアロンライセンス

クイック・スタート・マイグレーション:最初のPDFを5分で

Telerik Document ProcessingからIronPDFへの移行はすぐに開始できます。 IronPDFで最初のPDFを作成する最短の方法はこちらです。

ステップ 1: NuGet パッケージを更新する

すべての Telerik ドキュメント処理パッケージを削除してください:

# Remove Telerik packages
dotnet remove package Telerik.Documents.Core
dotnet remove package Telerik.Documents.Flow
dotnet remove package Telerik.Documents.Flow.FormatProviders.Pdf
dotnet remove package Telerik.Documents.Fixed
SHELL

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

# Install IronPDF
dotnet add package IronPdf
SHELL

ステップ 2: ステートメントを使用して更新する

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

// Before (Telerik Document Processing)
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Documents.Primitives;

// After (IronPDF)
using IronPdf;

ステップ 3: ライセンスキーの追加

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

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

ステップ4: PDF生成コードを更新する

Telerik Document ProcessingからIronPDFへの変換はコードベースを劇的にシンプルにします。

ビフォア(Telerik Document Processing):

using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(htmlContent);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
byte[] pdfBytes = pdfProvider.Export(document);

File.WriteAllBytes("output.pdf", pdfBytes);

翻訳後(IronPDF):

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");

3行のIronPDFコードが15行以上のTelerik Document Processingコードを置き換えています。 さらに重要なことは、IronPDFバージョンはTelerikのFlow Documentモデルでは扱えないモダンなCSSを正しくレンダリングすることです。

コード移行の例

HTML を PDF に変換する

これは、PDF生成の最も一般的な使用例です。 Telerik Document ProcessingとIronPDFのアーキテクチャの違いはこの比較で明らかになります。

Telerik ドキュメント処理アプローチ:

// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;

string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("output.pdf"))
{
    pdfProvider.Export(document, output);
}

IronPDFのアプローチ:

// NuGet: Install-Package IronPdf
using IronPdf;

string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");

Telerik バージョンでは、HtmlFormatProvider の作成、RadFlowDocument へのインポート、PdfFormatProvider の作成が必要で、ファイルストリームを手動で管理します。IronPDFの ChromePdfRenderer は、単一のメソッド呼び出しでプロセス全体を処理します。

より高度なHTMLからPDFへのシナリオについては、HTMLからPDFへの変換ガイドをご覧ください。

URLをPDFに変換する

ウェブページをPDFとしてキャプチャすると、ライブラリ間のもう1つの大きな違いが明らかになります。

Telerik ドキュメント処理アプローチ:

// NuGet: Install-Package Telerik.Documents.Flow
// NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf
using Telerik.Windows.Documents.Flow.FormatProviders.Html;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;

string url = "https://example.com";

using HttpClient client = new HttpClient();
string html = await client.GetStringAsync(url);

HtmlFormatProvider htmlProvider = new HtmlFormatProvider();
RadFlowDocument document = htmlProvider.Import(html);

PdfFormatProvider pdfProvider = new PdfFormatProvider();
using (FileStream output = File.OpenWrite("webpage.pdf"))
{
    pdfProvider.Export(document, output);
}

IronPDFのアプローチ:

// NuGet: Install-Package IronPdf
using IronPdf;

string url = "https://example.com";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");

Telerik Document Processingには、ネイティブのURL-to-PDF機能はありません。 HttpClient を使用して HTML コンテンツを手動で取得する必要があり、その過程で外部 CSS、JavaScript の実行、動的コンテンツが失われます。IronPDFの RenderUrlAsPdf メソッドは、ブラウザで表示されるのとまったく同じように、完全にレンダリングされたページをキャプチャします。

認証やカスタムヘッダなどの追加オプションについては、URL to PDF documentationを参照してください。

複数のPDFをマージする

PDFマージは、これら for .NET PDFライブラリの冗長性の違いを示しています。

Telerik ドキュメント処理アプローチ:

// NuGet: Install-Package Telerik.Documents.Fixed
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using System.IO;

PdfFormatProvider provider = new PdfFormatProvider();

RadFixedDocument document1;
using (FileStream input = File.OpenRead("document1.pdf"))
{
    document1 = provider.Import(input);
}

RadFixedDocument document2;
using (FileStream input = File.OpenRead("document2.pdf"))
{
    document2 = provider.Import(input);
}

RadFixedDocument mergedDocument = new RadFixedDocument();
foreach (var page in document1.Pages)
{
    mergedDocument.Pages.Add(page);
}
foreach (var page in document2.Pages)
{
    mergedDocument.Pages.Add(page);
}

using (FileStream output = File.OpenWrite("merged.pdf"))
{
    provider.Export(mergedDocument, output);
}

IronPDFのアプローチ:

// NuGet: Install-Package IronPdf
using IronPdf;

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");

var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");

Telerikバージョンでは、各ドキュメントを個別にインポートし、手作業でページを繰り返し、新しいドキュメントに追加し、複数のファイルストリームを管理する必要があります。IronPDFの PdfDocument.Merge() メソッドは、単一の呼び出しですべてを処理します。

選択的なページ抽出を含む高度なマージシナリオについては、PDFのマージと分割ガイドを参照してください。

Telerikドキュメント処理APIからIronPDFへのマッピング

この参照表は、APIに直接相当するものを示すことで、移行を加速します:

Telerik ドキュメント処理IronPDF
HtmlFormatProviderChromePdfRenderer
RadFlowDocument不要
PdfFormatProviderpdf.SaveAs()
RadFlowDocumentEditorHTML操作
SectionHTML <section>
ParagraphHTML <p>
PdfExportSettingsRenderingOptions
RadFixedDocumentPdfDocument
手作業によるページの反復PdfDocument.Merge()

ヘッダーとフッターの処理

Telerik Document Processingは、ヘッダーとフッターにプログラムモデルを使用しています。 IronPDFは動的プレースホルダーを持つHTMLベースのヘッダーを提供します。

Telerikドキュメント処理:

section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text");
section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");

IronPDF:

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のHTMLベースのアプローチにより、ヘッダーとフッターのCSSスタイリング、ページ番号と日付のダイナミックプレースホルダーが可能です。 詳しくは、headers and footers documentationをご覧ください。

単位変換:ディップからミリメートルへ

Telerik Document Processingは、測定にデバイス非依存ピクセル(DIP)を使用します。 IronPDFはミリメートルを使用しています。 このため、移行時に変換が必要となります:

// Telerik uses DIPs (device-independent pixels)
//IronPDFuses millimeters

// 1 inch = 25.4mm
renderer.RenderingOptions.MarginTop = 25.4;    // 1 inch
renderer.RenderingOptions.MarginBottom = 25.4;

// Or use the helper method for paper size
renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);

Telerikドキュメント処理移行チェックリスト

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

コードベースを監査し、Telerik Document Processingの使用法をすべて特定します:

grep -r "using Telerik.Windows.Documents" --include="*.cs" .
grep -r "RadFlowDocument\|HtmlFormatProvider\|PdfFormatProvider" --include="*.cs" .
SHELL

使用されているフォーマットプロバイダー、ヘッダー/フッター設定、カスタムページ設定、Flow Documentモデルの変更など、既存の実装を文書化すること。

移行について

1.Telerik NuGetパッケージの削除 2.IronPDFNuGet パッケージをインストールします 3. Telerik.Windows.Documents から IronPdf への using ステートメントを更新します 4.起動時のライセンスキー初期化の追加 5. HtmlFormatProviderChromePdfRenderer に置き換えます 6. RadFlowDocument の中間ステップを削除します 7. PdfFormatProvider のエクスポートを直接 SaveAs() コールに置き換えます 8. HtmlHeaderFooter を使用するようにヘッダー/フッターを更新します 9. ページ設定を RenderingOptions に変換します 10.マージンの単位をDIPからミリメートルに更新する。

移行後の検証

移行後、これらの改善点を検証してください:

  • CSSレンダリングが大幅に改善されること。
  • Bootstrapレイアウトが正しくレンダリングされること(Telerikではレンダリングされません)。
  • FlexboxとGridレイアウトが動作すること(Telerikでは動作しません)。
  • JavaScriptの実行は、動的コンテンツのために機能する必要があります。
  • 大規模なドキュメントの生成は、メモリ例外なしで完了する必要があります。

IronPDFに移行する主な利点

Telerik Document ProcessingからIronPDFに移行することで、すぐにメリットが得られます:

**最新の Chromium レンダリング エンジン:**IronPDFはGoogle Chrome と同じレンダリング エンジンを使用しているため、PDF は最新のブラウザーに表示されるコンテンツとまったく同じようにレンダリングされます。 これにより、TelerikのFlow Documentモデル特有のCSS互換性の問題が解消されます。

完全なCSS3およびJavaScriptサポート: Flexbox、Grid、Bootstrap 5、CSS変数、および最新 for JavaScriptがすべて正常に動作し、現代のウェブ標準との互換性が保証されます。

**よりシンプルな API:**コード行数が少なく、中間ドキュメント モデルが不要で、メソッド名が直感的であるため、開発時間とメンテナンスの負担が軽減されます。

**スタンドアロン ライセンス:**IronPDFは、包括的なスイートを購入する必要がなく、簡単なライセンスを提供しており、PDF 機能のみを必要とするチームにコスト効率の高いソリューションを提供します。

**アクティブな開発:**定期的な更新により、現在のおよび将来 for .NETバージョン、セキュリティ パッチ、機能強化との互換性が確保されます。

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