跳過到頁腳內容
遷移指南

如何在 C# 中從 Telerik Document Processing 遷移到 IronPDF

Migrating fromTelerik 文件處理to IronPDF:完整的開發人員指南

Telerik Document Processing 作為 DevCraft 套件的一部分,為 .NET 生態系統提供服務,除了 Word、Excel 和 PowerPoint 處理之外,還為開發人員提供 PDF 生成功能。 然而,隨著現代網頁標準的演進,以及專案需要完整的 CSS3、Flexbox 和 Bootstrap 支援,許多開發團隊發現 Telerik 的 HTML-to-PDF 渲染架構存在基本限制。

本指南提供了從Telerik 文件處理到IronPDF的完整遷移路徑,包括逐步說明、程式碼比較,以及直接取自真實遷移情境的實用範例。

為何要從 Telerik 文件處理轉移過來?

從Telerik 文件處理遷移的決定通常來自於在處理現代網頁內容時所顯現的技術限制。 瞭解這些限制有助於證明轉移工作的合理性,並為IronPDF所解決的問題設定期望值。

關鍵技術限制

Telerik Document Processing 在處理現代 HTML 和 CSS 時有一些基本問題:

問題影響力IronPdf 解決方案
CSS 解析限制現代 CSS 框架(如 Bootstrap)失效完整的 Chromium CSS 支援
分段轉換HTML 結構扁平化,佈局破裂直接 HTML 渲染
流程文件模型強制中間轉換原生 HTML 至 PDF
外部 CSS 問題忽略複雜的選擇器完整的 CSS 檔案支援
記憶體問題大型文件上的 OutOfMemoryException高效率的串流

核心問題:HTML 未正確渲染

Telerik Document Processing 在產生 PDF 之前會將 HTML 轉換為中間的"Flow Document"模型。 此架構決定會產生連鎖問題:

1.Flattens HTML structure - <div> 元素變成段落 2.忽略現代 CSS - Flexbox 和 Grid 佈局完全失敗 3.Breaks 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>
<!-- 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 文件處理中,所有這些版面都會呈現為連續的段落。兩欄式的 Bootstrap 排版會變成兩行文字。 flexbox 項目垂直堆疊。 CSS Grid 項目一個接一個地出現。

在 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; }

大型文件的效能問題

除了 CSS 限制之外,Telerik Document Processing 還記錄了處理大型檔案時的 OutOfMemoryException 錯誤。 開發團隊在處理大量文件產生時,會遇到其他程式庫能更有效率處理的穩定性問題。

IronPDFvs Telerik Document Processing:功能比較

瞭解功能差異有助於技術決策者評估遷移投資:

特點Telerik 文件處理IronPDF
HTML 渲染流程文件轉換直接 Chromium 渲染
CSS3 支援功能有限,許多功能失敗完整的 CSS3
<強>Flexbox</強不支援全面支援
CSS 網格不支援全面支援
Bootstrap破損(div 平面化)完整支援包括 Bootstrap 5
外部 CSS部分的全面支援
JavaScript不支援完全支援 ES2024
大型文件記憶體問題高效率的串流
API複雜性複雜(提供者、模型)簡單(一級)
授權模式商業,DevCraft 的一部分簡單的獨立授權

快速開始遷移:5 分鐘完成您的第一份 PDF。

從Telerik 文件處理遷移到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
# 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
# Install IronPDF
dotnet add package IronPdf
SHELL

步驟 2:更新 Using 語句

用 IronPdf 命名空間取代 Telerik 命名空間:

// 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;
// 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;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

步驟 3:新增授權金鑰

在應用程式啟動時初始化授權:

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

步驟 4:更新您的 PDF 生成程式碼

從Telerik 文件處理到IronPDF的轉換可大幅簡化您的程式碼庫。

之前 (Telerik 文件處理):

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);
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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

After (IronPDF):

using IronPdf;

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

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

差異立即顯現:3 行IronPDF程式碼取代 15 行以上的 Telerik 文件處理程式碼。 更重要的是,IronPDF 版本將正確呈現 Telerik 的 Flow Document 模型無法處理的現代 CSS。

程式碼遷移範例

將 HTML 轉換為 PDF

這是 PDF 生成最常見的用例。Telerik 文件處理和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);
}
// 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);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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");
// 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Telerik 版本需要建立<代碼>HtmlFormatProvider</代碼、匯入至<編碼>RadFlowDocument</編碼、建立<代碼>PdfFormatProvider</代碼以及手動管理檔案流。IronPDF的<代碼>ChromePdfRenderer</代碼只需呼叫一個方法即可處理整個過程。

如需更進階的 HTML 至IronPDF方案,請參閱 HTML 至 PDF 轉換指南

將 URL 轉換為 PDF

將網頁擷取成 PDF 會顯示出兩個資料庫的另一個重大差異。

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);
}
// 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);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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");
// NuGet: Install-Package IronPdf
using IronPdf;

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

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Telerik Document Processing 沒有原生 URL-to-PDF 功能。 您必須使用 HttpClient 手動取得 HTML 內容,在此過程中會遺失外部 CSS、JavaScript 執行和動態內容。IronPDF的 RenderUrlAsPdf 方法可擷取完整的渲染頁面,就像在瀏覽器中一樣。

探索 URL 至 PDF 文件 以獲得其他選項,包括驗證和自訂標頭。

合併多個 PDF 文件

PDF 合併展示了這些 .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);
}
// 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);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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");
// 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Telerik 版本需要分開匯入每個文件,手動反覆檢視頁面,將頁面加入新文件,並管理多個檔案流。IronPDF的<代碼>PdfDocument.Merge()</代碼方法只需一次調用即可處理一切。

如需進階合併情境,包括選擇性抽取頁面,請參閱 合併與分割 PDF 指南

Telerik 文件處理 API 到IronPDF的映射

此參考表格透過顯示直接的 API 對應詞,加快了轉換的速度:

Telerik 文件處理IronPDF筆記
<代碼>HtmlFormatProvider</代碼<代碼>ChromePdfRenderer</代碼建立 PDF 生成的渲染器
<編碼>RadFlowDocument</編碼不需要IronPdf 可直接渲染 HTML
<代碼>PdfFormatProvider</代碼<代碼>pdf.SaveAs()</代碼直接儲存,無需提供者
<編碼>RadFlowDocumentEditor</編碼HTML 操作在呈現之前編輯 HTML
<編碼>部分</編碼HTML <section>使用語意 HTML
段落HTML <p>標準 HTML 元素
<代碼>PDFExportSettings</代碼渲染選項設定輸出設定
<編碼>RadFixedDocument</編碼<編碼>PDF 文件</編碼使用現有的 PDF
手動迭代頁面<代碼>PdfDocument.Merge()</代碼內建合併方法

處理頁首和頁尾。

Telerik 文件處理使用程式化模式來處理頁眉、頁腳。 IronPdf 提供基於 HTML 的標題,並具有動態占位符。

Telerik 文件處理:

section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text");
section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");
section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text");
section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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
};
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
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPdf 基於 HTML 的方法允許在頁首和頁尾使用完整的 CSS 設定,Plus 動態頁碼和日期占位符。 在 headers and footers 文件中瞭解更多資訊。

單位轉換:DIP 至毫米。

Telerik 文件處理使用裝置獨立像素 (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 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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Telerik 文件處理遷移清單

遷移前的任務

審核您的程式碼庫,找出所有Telerik 文件處理的用法:

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

記錄現有的實作,包括使用的格式提供者、頁首/頁尾設定、自訂頁面設定,以及任何 Flow Document 模型修改。

遷移期間

1.移除 Telerik NuGet 套件 2.安裝 IronPdf NuGet 套件 3.更新使用語句從 Telerik.Windows.DocumentsIronPdf 4.在啟動時加入授權金鑰初始化 5.將<代碼>HtmlFormatProvider</代碼替換為 ChromePdfRenderer 6.移除<編碼>RadFlowDocument</編碼的中間步驟 7.將<代碼>PdfFormatProvider</代碼匯出改為直接呼叫 SaveAs() 8.更新標頭/標腳以使用 HtmlHeaderFooter 9.將頁面設定轉換為 RenderingOptions 10.將邊界單位從 DIP 更新為毫米

後遷移驗證

轉移後,驗證這些改進:

  • CSS 渲染應大幅改善
  • Bootstrap 佈局應正確呈現 (在 Telerik 中不會)
  • Flexbox 與 Grid 佈局應該可以運作 (在 Telerik 中無法運作)
  • JavaScript 執行功能應適用於動態內容
  • 大型文件生成應在無記憶體異常的情況下完成

遷移到IronPDF的主要優點。

從Telerik 文件處理轉移到IronPDF可立即提供優勢:

Modern Chromium Rendering Engine:IronPDF 使用與 Google Chrome 相同的渲染引擎,可確保 PDF 的渲染效果與現代瀏覽器中的內容一模一樣。 這可以消除 Telerik 的流程文件模型固有的 CSS 相容性問題。

完整的 CSS3 與 JavaScript 支援:Flexbox、Grid、Bootstrap 5、CSS 變數和現代 JavaScript 都能正常運作。IronPDFfor .NET 10 和 C# 14 在 2026 年之前的採用率將會增加,IronPDF 的現代化渲染可確保與當代網路標準相容。

更簡單的 API:更少的程式碼行數、無中間文件模型,以及直覺的方法名稱,可減少開發時間與維護負擔。

Standalone License:IronPDF 提供直接的 License,而不需要購買全面的套件,為只需要 PDF 功能的團隊提供符合成本效益的解決方案。

主動開發:定期更新確保與目前及未來的 .NET 版本、安全修補程式及功能增強相容。

結論

Telerik Document Processing 在較早的 .NET 開發時代發揮了作用,但其 Flow Document 架構無法處理開發人員現在視為標準的現代 CSS 佈局。 div 到段落的轉換、Flexbox 支援的缺失以及 Bootstrap 的不相容,對於建立當代應用程式的團隊造成了實際的限制。

IronPdf 使用基於 Chromium 的渲染引擎解決了這些限制,該引擎可以完全按照瀏覽器的方式處理現代網頁內容。 遷移路徑很直接:取代 NuGet 套件、更新名稱空間,並簡化程式碼。 大多數團隊在數天而非數週內完成遷移。

今天就開始遷移 免費試用 IronPDF 並體驗真正基於瀏覽器的渲染為您的 PDF 生成工作流程帶來的不同。

如需全面的 API 文件,請造訪 IronPDF API 參考。 探索教學以獲得其他實作模式和最佳實務。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。