跳至页脚内容
迁移指南

如何用 C# 从 Telerik Document Processing 迁移到 IronPDF

从 Telerik 文档处理迁移到 IronPDF:完整的开发人员指南

作为 DevCraft 套件的一部分,Telerik Document Processing 为 .NET 生态系统提供服务,在处理 Word、Excel 和 PowerPoint 的同时,还为开发人员提供 PDF 生成功能。 然而,随着现代 Web 标准的发展和项目对全面 CSS3、Flexbox 和 Bootstrap 支持的需求,许多开发团队发现 Telerik 的 HTML 到 PDF 渲染架构存在根本性的限制。

本指南提供了从Telerik 文档处理到IronPDF的完整迁移路径,包括分步说明、代码比较以及直接取自真实迁移场景的实用示例。

为什么要从 Telerik 文档处理迁移

从Telerik 文档处理迁移的决定通常源于在处理现代网络内容时出现的技术限制。 了解这些限制有助于证明迁移工作的合理性,并为IronPDF解决的问题设定期望值。

关键技术限制

Telerik 文档处理在处理现代 HTML 和 CSS 时存在一些基本问题:

问题影响IronPdf 解决方案
CSS 解析限制现代 CSS 框架(如 Bootstrap)失败完全支持 Chromium CSS
分段转换HTML 结构扁平化,布局中断直接 HTML 渲染
流程文档模型强制中间转换本地 HTML 到 PDF
外部 CSS 问题忽略复杂的选择器完全支持 CSS 文件
内存问题大型文档出现 OutOfMemoryException 异常高效流

核心问题:HTML 无法正确渲染

在生成 PDF 之前,Telerik Document Processing 会将 HTML 转换为中间的 "流程文档 "模型。 这一架构决策会产生一系列问题:

1.扁平化 HTML 结构 - <div> 元素变为段落 2.忽略现代 CSS - Flexbox 和网格布局完全失效 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 网格项目一个接一个地出现。

在 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 文档处理还记录了处理大文件时出现的 OutOfMemoryException 错误。 从事大量文档生成工作的开发团队遇到了稳定性问题,而其他库可以更高效地处理这些问题。

IronPDF与 Telerik 文档处理:功能比较

了解功能差异有助于技术决策者评估迁移投资:

特征Telerik 文档处理IronPDF
HTML 渲染流程文档转换直接 Chromium 渲染
CSS3 支持内容有限,许多功能无法实现完整的 CSS3
Flexbox不支持全面支持
CSS 网格不支持全面支持
脚本破损(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 转 PDF 场景,请参阅 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 转 PDF 功能。 您必须使用 HttpClient 手动获取 HTML 内容,在此过程中会丢失外部 CSS、JavaScript 执行和动态内容。IronPDF的 RenderUrlAsPdf 方法可捕获完整的渲染页面,与浏览器中显示的页面完全一致。

请浏览 URL to 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 的呈现器
<代码>RadFlow 文档</代码不需要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 还可以为页码和日期提供动态占位符。 在 页眉和页脚文档中了解更多信息。

单位转换: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.删除<代码>RadFlow 文档</代码中间步骤 7.用直接调用 SaveAs() 替换<代码>PdfFormatProvider</代码导出 8.更新页眉/页脚以使用 HtmlHeaderFooter 9.将页面设置转换为 RenderingOptions 10.将边距单位从 DIP 更新为毫米

迁移后验证

迁移后,验证这些改进:

  • CSS 的渲染效果应得到明显改善
  • Bootstrap 布局应能正确呈现(在 Telerik 中无法呈现)
  • Flexbox 和网格布局应能正常工作(在 Telerik 中不能正常工作)
  • JavaScript 执行功能应适用于动态内容
  • 大型文档生成应在无内存异常的情况下完成

迁移到IronPDF的主要优势

从Telerik 文档处理迁移到IronPDF可带来立竿见影的优势:

现代 Chrome 浏览器渲染引擎:IronPDF 使用与 Google Chrome 浏览器相同的渲染引擎,确保 PDF 文件的渲染效果与现代浏览器中显示的内容完全一致。 这消除了 Telerik Flow 文档模型固有的 CSS 兼容性问题。

全面支持 CSS3 和 JavaScript:Flexbox、Grid、Bootstrap 5、CSS 变量和现代 JavaScript 都能正常工作。 随着 .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 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。